<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                # JS執行方法示例 1. 使用無頭瀏覽器`Pyppeteer` : 使用`page.evaluate()`方法執行JS 2. 使用`PyexecJS`執行JS: 通過`execjs.compile()`編譯JS語句返回`context`,然后通過`context.eval()`方法獲取參數信息 我們以漫畫網為例子: ## 分析過程 1. 打開單個章節地址: https://www.kanman.com/25934/dpcq_1h.html 2. 打開開發者模式(F12) : 之后刷新以下, 點擊`Network`中的頁面,查看`Response`應答頁面原始內容,可以找到當前章節的所有參數內容 3. 通過正則表達式提取出JS內容,執行JS內容獲取參數信息。 ## 方法1:通過`PyexecJS`庫執行JS ```python import requests import execjs import re resp = requests.get('https://www.kanman.com/25934/dpcq_1h.html') res = re.findall(r'<script>.*?window\.(comicInfo.*?)</script>', resp.text) js_var = 'var ' + res[0] print(js_var) ``` var comicInfo={comic_id:25934,comic_newid:"doupocangqiong",comic_name:"斗破蒼穹",last_chapter_id:"1743153",last_chapter_newid:"di864hua-1599272930012",last_chapter_name:"第864話 機關陣",show_type:1,readtype:1,comic_status:1,charge_paid:0,charge_coin_free:1,update_time:1599278405e3,boo_virtual_coin:!0,charge_status:"10000000000000000000",charge_share_free:1,charge_advertise_free:1,charge_truetime_free:1,charge_limittime_free:1,charge_limitline_free:1,charge_vip_free:1,charge_spread_free:1,charge_game_free:1,charge_coupons_free:1,charge_lottery_free:1,charge_limittime_paid:1,charge_limitline_paid:1,charge_others_paid:1,charge_credit_paid:1,is_copyright:1,current_chapter:{chapter_name:"第1話 隕落的天才(上)",chapter_newid:"dpcq_1h",chapter_id:1400558,chapter_domain_suffix:"",chapter_domain:"jumanhua.com",start_num:1,end_num:13,price:0,chapter_image_addr:"",create_date:1502988183537,rule:"/comic/D/斗破蒼穹拆分版/1話/$$.jpg"},prev_chapter:null,next_chapter:{chapter_id:1400559,chapter_newid:"dpcq_2h",chapter_name:"第2話 隕落的天才(中)",price:0,chapter_image_addr:"",create_time:"2020-07-01T09:11:05.000Z",topic_copyright:"",chapter_domain:"jumanhua.com",rule:"/comic/D/斗破蒼穹拆分版/2話/$$.jpg",start_num:1,end_num:12,create_date:1502988183537,chapter_domain_suffix:""},seoTitleTemplate:{default:"{0}{1} {0}漫畫{1}",title:"{0}{1}話 {2} {0}漫畫{1}話 {2} 看漫畫"}} ```python ctx = execjs.compile(js_var) current_chapter = ctx.eval('comicInfo.current_chapter') current_chapter ``` {'chapter_name': '第1話 隕落的天才(上)', 'chapter_newid': 'dpcq_1h', 'chapter_id': 1400558, 'chapter_domain_suffix': '', 'chapter_domain': 'jumanhua.com', 'start_num': 1, 'end_num': 13, 'price': 0, 'chapter_image_addr': '', 'create_date': 1502988183537, 'rule': '/comic/D/斗破蒼穹拆分版/1話/$$.jpg'} ## 方法2: 通過`pyppeteer`方法執行JS ```python from pyppeteer import launch import asyncio ua = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36' proxy_server = "--proxy-server=socks5://127.0.0.1:1084" browser = await launch(headless=False, args=['--disable-infobars', proxy_server]) pages = await browser.pages() page1 = pages[0] await page1.setViewport(viewport={'width': 1280, 'height': 800}) await page1.setUserAgent(ua) ``` ```python await page1.goto('https://www.kanman.com/25934/dpcq_1h.html') ``` <pyppeteer.network_manager.Response at 0x7fbd63769400> ```python js_get = r'() =>{ return window.comicInfo.current_chapter; }' text_js1 = await page1.evaluate(js_get) text_js1 ``` {'chapter_name': '第1話 隕落的天才(上)', 'chapter_newid': 'dpcq_1h', 'chapter_id': 1400558, 'chapter_domain_suffix': '', 'chapter_domain': 'jumanhua.com', 'start_num': 1, 'end_num': 13, 'price': 0, 'chapter_image_addr': '', 'create_date': 1502988183537, 'rule': '/comic/D/斗破蒼穹拆分版/1話/$$.jpg'} ```python ch_name = text_js1['chapter_name'] chapter_id = text_js1['chapter_id'] start_num = text_js1['start_num'] end_num = text_js1['end_num'] rule = text_js1['rule'] prefix = 'https://mhpic.jumanhua.com' suffix = '-kmh.middle.webp' for i in range(start_num, end_num+1): img_url = prefix + rule.replace(r'$$', str(i)) + suffix print(ch_name, img_url) ``` 第1話 隕落的天才(上) https://mhpic.jumanhua.com/comic/D/斗破蒼穹拆分版/1話/1.jpg-kmh.middle.webp 第1話 隕落的天才(上) https://mhpic.jumanhua.com/comic/D/斗破蒼穹拆分版/1話/2.jpg-kmh.middle.webp 第1話 隕落的天才(上) https://mhpic.jumanhua.com/comic/D/斗破蒼穹拆分版/1話/3.jpg-kmh.middle.webp 第1話 隕落的天才(上) https://mhpic.jumanhua.com/comic/D/斗破蒼穹拆分版/1話/4.jpg-kmh.middle.webp 第1話 隕落的天才(上) https://mhpic.jumanhua.com/comic/D/斗破蒼穹拆分版/1話/5.jpg-kmh.middle.webp 第1話 隕落的天才(上) https://mhpic.jumanhua.com/comic/D/斗破蒼穹拆分版/1話/6.jpg-kmh.middle.webp 第1話 隕落的天才(上) https://mhpic.jumanhua.com/comic/D/斗破蒼穹拆分版/1話/7.jpg-kmh.middle.webp 第1話 隕落的天才(上) https://mhpic.jumanhua.com/comic/D/斗破蒼穹拆分版/1話/8.jpg-kmh.middle.webp 第1話 隕落的天才(上) https://mhpic.jumanhua.com/comic/D/斗破蒼穹拆分版/1話/9.jpg-kmh.middle.webp 第1話 隕落的天才(上) https://mhpic.jumanhua.com/comic/D/斗破蒼穹拆分版/1話/10.jpg-kmh.middle.webp 第1話 隕落的天才(上) https://mhpic.jumanhua.com/comic/D/斗破蒼穹拆分版/1話/11.jpg-kmh.middle.webp 第1話 隕落的天才(上) https://mhpic.jumanhua.com/comic/D/斗破蒼穹拆分版/1話/12.jpg-kmh.middle.webp 第1話 隕落的天才(上) https://mhpic.jumanhua.com/comic/D/斗破蒼穹拆分版/1話/13.jpg-kmh.middle.webp ```python browser.close() ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看