最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Phantomjs抓取渲染JS后的網(wǎng)頁(Python代碼)

 更新時(shí)間:2016年05月13日 09:09:10   投稿:hebedich  
phantomjs:我的理解就是它是一個(gè)無顯示的瀏覽器,也就是說除了不能顯示頁面內(nèi)容以外,瀏覽器能干的活兒它基本上都能干。下面我們就來利用他做點(diǎn)有趣的事情

最近需要爬取某網(wǎng)站,無奈頁面都是JS渲染后生成的,普通的爬蟲框架搞不定,于是想到用Phantomjs搭一個(gè)代理。

Python調(diào)用Phantomjs貌似沒有現(xiàn)成的第三方庫(如果有,請(qǐng)告知小編),漫步了一圈,發(fā)現(xiàn)只有pyspider提供了現(xiàn)成的方案。

簡單試用了一下,感覺pyspider更像一個(gè)為新手打造的爬蟲工具,好比一個(gè)老媽子,有時(shí)無微不至,有時(shí)喋喋不休。 輕巧的小工具應(yīng)該更受人喜愛,我也懷著一點(diǎn)私心,可以帶著我最愛的BeautifulSoup一塊兒用,而不用再學(xué)PyQuery(pyspider用來解析HTML),更不用忍受瀏覽器寫Python的糟糕體驗(yàn)(偷笑)。

所以花了一個(gè)下午的時(shí)間,把pyspider當(dāng)中實(shí)現(xiàn)Phantomjs代理的部分拆了出來,獨(dú)立成一個(gè)小的爬蟲模塊,希望大家會(huì)喜歡(感謝binux?。?。

準(zhǔn)備工作

你當(dāng)然要有Phantomjs,廢話!(Linux下最好用supervisord守護(hù),必須保持抓取的時(shí)候Phantomjs一直處于開啟狀態(tài))
用項(xiàng)目路徑下的phantomjs_fetcher.js啟動(dòng):phantomjs phantomjs_fetcher.js [port]
安裝tornado依賴(使用了tornado的httpclient模塊)

調(diào)用是超級(jí)簡單的

from tornado_fetcher import Fetcher

# 創(chuàng)建一個(gè)爬蟲
>>> fetcher=Fetcher(
  user_agent='phantomjs', # 模擬瀏覽器的User-Agent
  phantomjs_proxy='http://localhost:12306', # phantomjs的地址
  poolsize=10, # 最大的httpclient數(shù)量
  async=False # 同步還是異步
  )
# 開始連接Phantomjs的代碼,可以渲染JS!
>>> fetcher.fetch(url)
# 渲染成功后執(zhí)行額外的JS腳本(注意用function包起來!)
>>> fetcher.fetch(url, js_script='function(){setTimeout("window.scrollTo(0,100000)}", 1000)')

代碼 https://github.com/2shou/PhantomjsFetcher

相關(guān)文章

  • python中xrange用法分析

    python中xrange用法分析

    這篇文章主要介紹了python中xrange用法,實(shí)例分析了xrange的功能、作用以及與range在使用中的區(qū)別,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-04-04
  • jupyter如何安裝自動(dòng)代碼補(bǔ)全提示

    jupyter如何安裝自動(dòng)代碼補(bǔ)全提示

    這篇文章主要介紹了jupyter如何安裝自動(dòng)代碼補(bǔ)全提示問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • python Graham求凸包問題并畫圖操作

    python Graham求凸包問題并畫圖操作

    這篇文章主要介紹了python Graham求凸包問題并畫圖操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • python獲取百度熱榜鏈接的實(shí)例方法

    python獲取百度熱榜鏈接的實(shí)例方法

    在本篇文章里小編給大家整理了關(guān)于python獲取百度熱榜鏈接的實(shí)例方法,需要的朋友們可以學(xué)習(xí)參考下。
    2020-08-08
  • python實(shí)現(xiàn)ftp文件傳輸功能

    python實(shí)現(xiàn)ftp文件傳輸功能

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)ftp文件傳輸功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • python 解析XML python模塊xml.dom解析xml實(shí)例代碼

    python 解析XML python模塊xml.dom解析xml實(shí)例代碼

    這篇文章主要介紹了分享下python中使用模塊xml.dom解析xml文件的實(shí)例代碼,學(xué)習(xí)下python解析xml文件的方法,有需要的朋友參考下
    2014-02-02
  • Python讀取圖片屬性信息的實(shí)現(xiàn)方法

    Python讀取圖片屬性信息的實(shí)現(xiàn)方法

    這篇文章介紹了利用Python讀取圖片屬性信息的方法,讀取的內(nèi)容包括GPS 信息、圖片分辨率、圖片像素、設(shè)備商、拍攝設(shè)備等,有需要的朋友們可以參考借鑒。
    2016-09-09
  • opencv+python實(shí)現(xiàn)圖像矯正

    opencv+python實(shí)現(xiàn)圖像矯正

    這篇文章主要為大家詳細(xì)介紹了opencv+python實(shí)現(xiàn)圖像矯正,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • PyTorch學(xué)習(xí)筆記之回歸實(shí)戰(zhàn)

    PyTorch學(xué)習(xí)筆記之回歸實(shí)戰(zhàn)

    這篇文章主要介紹了PyTorch學(xué)習(xí)筆記之回歸實(shí)戰(zhàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • Python實(shí)現(xiàn)的金山快盤的簽到程序

    Python實(shí)現(xiàn)的金山快盤的簽到程序

    正在學(xué)習(xí)python而且自己一直在用金山快盤,所以就寫來個(gè)簽到的功能,每天定時(shí)跑
    2013-01-01

最新評(píng)論

响水县| 新田县| 井研县| 德清县| 墨脱县| 沙河市| 阜平县| 邢台市| 大理市| 伊通| 潞城市| 辽源市| 太原市| 漠河县| 神木县| 萨迦县| 揭西县| 宝应县| 陇西县| 重庆市| 南岸区| 丹东市| 湖南省| 开封市| 西畴县| 平邑县| 育儿| 吉安市| 肃北| 郁南县| 泾川县| 万年县| 清涧县| 南皮县| 溧阳市| 蕉岭县| 荣昌县| 江油市| 新竹市| 策勒县| 昌平区|