簡體   English   中英

Scrapy XPath 沒有獲得頁面中的所有鏈接,而 Chrome 有

[英]Scrapy XPath doesn't get all links in page while Chrome does

我正在嘗試使用 scrapy 獲取頁面“https://www.jumia.com.eg”上的所有鏈接。

代碼是這樣的:

all_categories = response.xpath ('//a')

但是我在結果中發現了很多缺失的鏈接。

結果計數為 242 個鏈接。

當我嘗試使用 Chrome 開發人員工具時,我得到了所有鏈接,結果計數為 608,使用相同的選擇器 xpath (//a)。

在此處輸入圖像描述

為什么 Scarpy 不能使用提到的選擇器獲取所有鏈接,而 Chrome 可以?

那是因為該網站正在使用 reCAPTCHA。

如果您在 scrapy shell 中鍵入: view(response) ,您會注意到您實際上正在解析 reCAPTCHA 頁面(這解釋了意外a標簽):

在此處輸入圖像描述

您可以嘗試解決 reCAPTCHA(不確定這有多容易,但這個問題可能會有所幫助)...或者您可以從代理運行您的抓取工具,例如使用旋轉 IP 的 Crawlera ...我沒有使用過 Crawlera 但根據他們的網站,它會多次重試該頁面(使用不同的 IP),直到它到達一個干凈的頁面。

事實證明,問題是因為正如賈斯汀評論的那樣,數據是使用 Javascript 加載的。

暫無
暫無

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

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