簡體   English   中英

Scrapy + Python + Xpath:Xpath返回一個空列表

[英]Scrapy + Python + Xpath : Xpath returns an empty list

我需要從此頁面抓取圖像的鏈接: http : //calendar.youtoocanrun.com/events/new-delhi-1/beat-that-run/

在此處輸入圖片說明

我寫了這個xpath:

response.xpath('//li[@class="geodir-active-slide"]/img/@src').extract()

它返回了空列表。 它應該已經返回了gif和jpg文件的鏈接。 為什么?

問題不在於您的XPath表達式中,而是假設您要查找的元素位於Scrapy下載的頁面原始HTML文件中。

Scrapy不會運行任何JavaScript文件,因此在許多情況下,您在Scrapy中獲得的響應與在開發人員工具中看到的響應是不同的。

如果使用瀏覽器中的“查看頁面源”選項打開相同的網站,則會看到所需的元素不存在。 這意味着該元素是使用JavaScript動態生成的。

有一些方法可以解決此問題,我將按以下順序進行處理:

  1. 檢查頁面HTML並查找包含所需數據的JS代碼;
  2. 在開發人員工具的“請求”面板中檢查瀏覽器正在執行的請求,並嘗試查找為您帶來該內容的請求;
  3. 使用無頭瀏覽器為您呈現頁面;

暫無
暫無

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

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