簡體   English   中英

為什么我不能使用Scrapy從此URL(其中帶有“#”)進行爬網?

[英]Why i can't not use Scrapy to crawl from this URL (with “#” in it)?

我是Scrapy的新手,現在我正在從事一個項目,我需要使用Scrapy從以下網站進行爬網: https : //www.google.com/partners/#a_search; bdgt=10000;lang=zh-CN;locn = United%20States; motv = 0; wbst = http%253A%252F%252F
我無法將整個URL傳遞給Scrapy中的響應,因此我使用PYCHARM對其進行調試,我發現我只能在之前傳遞URL,有人可以幫助我解決這個問題嗎? 非常感謝!!!!

網址片段(#后面的部分)不會發送到遠程Web服務器; 這就是HTTP的工作方式。 發送請求后,片段由瀏覽器處理; 如果是Google,它會觸發一些JavaScript函數等。

Scrapy不是瀏覽器-它不評估JavaScript。 Scrapy只是通過HTTP下載數據。 這就是當Scrapy提取頁面時將片段從URL剝離的原因-無法使用它。

如果要處理此類URL片段,則有兩個選擇:

  1. 模擬瀏覽器在做什么-在傳遞此URL時檢查它正在發出的HTTP請求,並在Scrapy中模擬它們;
  2. 使用瀏覽器引擎渲染頁面,例如Selenium,PhantomJS或Splash。 有一個用於scrapy + splash集成的插件: https : //github.com/scrapy-plugins/scrapy-splash

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM