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

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

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

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

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

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

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

準備工作

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

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

from tornado_fetcher import Fetcher

# 創(chuàng)建一個爬蟲
>>> 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用法,實例分析了xrange的功能、作用以及與range在使用中的區(qū)別,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • jupyter如何安裝自動代碼補全提示

    jupyter如何安裝自動代碼補全提示

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

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

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

    python獲取百度熱榜鏈接的實例方法

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

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

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

    python 解析XML python模塊xml.dom解析xml實例代碼

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

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

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

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

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

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

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

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

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

最新評論

大姚县| 宝兴县| 阿图什市| 焦作市| 外汇| 鞍山市| 金山区| 南康市| 蒙山县| 吉木萨尔县| 长丰县| 灌阳县| 溆浦县| 龙岩市| 旅游| 双柏县| 新沂市| 秦皇岛市| 清水河县| 大同市| 遂溪县| 阜城县| 昆明市| 绩溪县| 陇川县| 阜南县| 沾益县| 安阳县| 宁陕县| 景德镇市| 迁安市| 确山县| 民勤县| 新建县| 和平县| 庄河市| 修水县| 长沙县| 息烽县| 清原| 新沂市|