初學(xué)pyspider跳過(guò)的坑

1、JS問(wèn)題。使用pyspider抓取一些網(wǎng)頁(yè)時(shí),如果網(wǎng)頁(yè)使用JS做渲染,將會(huì)遇到抓取不成功的情況,具體的表現(xiàn)就是在pyspider開(kāi)發(fā)界面左側(cè),web頁(yè)面某些元素顯示不出來(lái)。解決辦法是,使用phantomjs進(jìn)行JS加載和抓取。

注意,下載安裝phantomjs之后,記得將~\phantomjs\bin加入到PATH中,然后在啟動(dòng)pyspider時(shí)使用pyspider all將phantomjs啟動(dòng)。如果是在windows環(huán)境下,系統(tǒng)會(huì)提示FutureWarning : timeout is not supported on your platform.warnings.warn("timeout is not supported on your platform.", FurureWarning),忽略即可。之后即可在crawl()中使用“fetch_type = 'js'”參數(shù),self.crawl(url, callback = self.last_page, fetch_type = 'js')

2、證書(shū)錯(cuò)誤問(wèn)題。在抓取過(guò)程中出現(xiàn)“HTTP 599: SSL certificate problem: self signed certificate in certificate chain”錯(cuò)誤。這是因?yàn)閔ttps協(xié)議需要對(duì)證書(shū)進(jìn)行驗(yàn)證導(dǎo)致,解決方法是,在crawl()方法中使用validate_cert參數(shù),self.crawl(url, callback = self.last_page, validate_cert = False)

3、變量傳遞問(wèn)題。pyspider中如果需要在A函數(shù)中使用B函數(shù)中的變量,會(huì)比較困難。嘗試使用全局變量,在A中修改全局變量,并在B中進(jìn)行引用,未能達(dá)到目的。后查閱文檔,發(fā)現(xiàn)在crawl()方法中有專門(mén)的save參數(shù)解決變量傳遞的問(wèn)題。

在first_page函數(shù)中,self.crawl(url, callback = self.last_page, save = {'current_url': url,? 'path':path_dir}),在last_page函數(shù)中使用response.save['current_url']和response.save['path']即可獲得url和path_dir的值.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 安裝### python 2.7pip install --allow-all-external -r requi...
    ASulee閱讀 4,610評(píng)論 0 3
  • Ps:慣例ps環(huán)節(jié),經(jīng)過(guò)前面幾章的學(xué)習(xí),寫(xiě)一些簡(jiǎn)單的爬蟲(chóng)已經(jīng)是手到擒來(lái)了吧。這章我們看看如何使用pyspider框...
    Darkeril閱讀 14,754評(píng)論 8 26
  • 當(dāng)問(wèn)別人這家公司值不值得購(gòu)買(mǎi)時(shí),最好的答案就是不買(mǎi),因?yàn)槟愀静涣私膺@家公司,價(jià)值在哪里?護(hù)城河在哪里? 正如現(xiàn)在...
    長(zhǎng)物記閱讀 236評(píng)論 0 0
  • 朋友看完電影《前任3:再見(jiàn)前任》,說(shuō)了一句話:“千萬(wàn)不要去看前任3,一個(gè)眼神看透你所有?!睅е闷嫘目戳艘槐?,頗有...
    海心海言閱讀 475評(píng)論 0 2
  • 作者:云飛揚(yáng) 岸旁花似雪,驛外柳如煙。雁翅拍云過(guò),家山把手牽。風(fēng)清吹薄霧,路遠(yuǎn)有晴天。異客多孤寂,斜陽(yáng)伴我還。
    隨意詩(shī)社閱讀 278評(píng)論 0 11

友情鏈接更多精彩內(nèi)容