国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python利用Phantomjs抓取渲染JS后的網頁

lowett / 3156人閱讀

摘要:最近需要爬取某網站,無奈頁面都是渲染后生成的,普通的爬蟲框架搞不定,于是想到用搭一個代理。調用貌似沒有現成的第三方庫如果有,請告知小,漫步了一圈,發現只有提供了現成的方案。

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

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

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

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

準備工作

你當然要有Phantomjs,廢話!(Linux下最好用supervisord守護,必須保持抓取的時候Phantomjs一直處于開啟狀態)

用項目路徑下的phantomjs_fetcher.js啟動:phantomjs phantomjs_fetcher.js [port]

安裝tornado依賴(使用了tornado的httpclient模塊)

調用是超級簡單的
pythonfrom tornado_fetcher import Fetcher

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

老規矩,代碼在小2的Github了,歡迎指正:PhantomjsFetcher

  

來自:建造者說

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/45350.html

相關文章

  • Python爬蟲使用Selenium+PhantomJS抓取Ajax和動態HTML內容

    摘要:,集搜客開源代碼下載源開源網絡爬蟲源,文檔修改歷史,增補文字說明,增加第五章源代碼下載源,并更換源的網址 showImg(https://segmentfault.com/img/bVvMn3); 1,引言 在Python網絡爬蟲內容提取器一文我們詳細講解了核心部件:可插拔的內容提取器類gsExtractor。本文記錄了確定gsExtractor的技術路線過程中所做的編程實驗。這是第二...

    ymyang 評論0 收藏0
  • Python3網絡爬蟲實戰---2、請求庫安裝:GeckoDriver、PhantomJS、Aioh

    摘要:上一篇文章網絡爬蟲實戰請求庫安裝下一篇文章網絡爬蟲實戰解析庫的安裝的安裝在上一節我們了解了的配置方法,配置完成之后我們便可以用來驅動瀏覽器來做相應網頁的抓取。上一篇文章網絡爬蟲實戰請求庫安裝下一篇文章網絡爬蟲實戰解析庫的安裝 上一篇文章:Python3網絡爬蟲實戰---1、請求庫安裝:Requests、Selenium、ChromeDriver下一篇文章:Python3網絡爬蟲實戰--...

    Cristalven 評論0 收藏0
  • 如果有人問你爬蟲抓取技術的門道,請叫他來看這篇文章

    摘要:未授權的爬蟲抓取程序是危害原創內容生態的一大元兇,因此要保護網站的內容,首先就要考慮如何反爬蟲。反爬蟲的銀彈目前的反抓取機器人檢查手段,最可靠的還是驗證碼技術。機器人協議除此之外,在爬蟲抓取技術領域還有一個白道的手段,叫做協議。 本文首發于我的個人博客,同步發布于SegmentFault專欄,非商業轉載請注明出處,商業轉載請閱讀原文鏈接里的法律聲明。 web是一個開放的平臺,這也奠定了...

    raoyi 評論0 收藏0
  • Python爬蟲實戰(4):豆瓣小組話題數據采集—動態網頁

    摘要:,引言注釋上一篇爬蟲實戰安居客房產經紀人信息采集,訪問的網頁是靜態網頁,有朋友模仿那個實戰來采集動態加載豆瓣小組的網頁,結果不成功。 showImg(https://segmentfault.com/img/bVzdNZ); 1, 引言 注釋:上一篇《Python爬蟲實戰(3):安居客房產經紀人信息采集》,訪問的網頁是靜態網頁,有朋友模仿那個實戰來采集動態加載豆瓣小組的網頁,結果不成功...

    blastz 評論0 收藏0
  • pyspider 爬蟲教程(三):使用 PhantomJS 渲染JS 的頁面

    摘要:英文原文在上兩篇教程中,我們學習了怎么從中提取信息,也學習了怎么處理一些請求復雜的頁面。在使用之前,你需要安裝它安裝文檔。當你安裝了之后,在運行模式的時就會自動啟用了。使用當連上代理后,你就能通過在中添加的參數,開啟使用抓取。 英文原文:http://docs.pyspider.org/en/latest/tutorial/Render-with-PhantomJS/ 在上兩篇教程中...

    zhongmeizhi 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<