【问题标题】:Web Scraping Return Empty Value Using Xpath in ScrapyWeb Scraping 在 Scrapy 中使用 Xpath 返回空值
【发布时间】:2023-03-24 21:23:01
【问题描述】:

真的需要这个社区的帮助。

我的问题是当我使用代码时

================================================= =========================== response.xpath("//div[contains(@class,'check-prices-widget-not-owned')]/a/div[contains(@class,'check-prices-widget-not-owned-link' )]“)。提炼() enter image description here

在scrapy shell中提取供应商名称,输出为空。我真的不知道为什么会这样,在我看来问题可能是网站信息正在动态更新?

这个网页抓取的网址是:https://cruiseline.com/cruise/7-night-bahamas-florida-new-york-roundtrip-32860,我需要的是每个供应商的供应商名称和价格。除了附图是“检查”的截图。

非常感谢您的帮助!

【问题讨论】:

    标签: xpath scrapy isnullorempty


    【解决方案1】:

    您需要始终在浏览器中检查 HTML 源代码(通常使用 Ctrl+U)。

    这样你会发现你想要的信息使用 JSON 嵌入到 Javascript 变量中:

    var partnerPrices = [{"pool":"9a316391b6550eef969c8559c14a380f","partner":"ncl.com","priority":0,"currency":"USD","data":{"32860":{"2018-02-25":{"Inside":579,"Suite":1199,"Balcony":699,"Oceanview":629},....
    var sponsored_partners = [{"code":"CDCNA","name":"cruises.com","value":"cruises.com","logo":"\/images\/partner-logo-cruises-sm.png","logo_sprite":"partner-logo-cruises-com"},...
    

    所以你需要import json,解析response.body(使用re或其他方法)然后json.loads()解析JSON字符串以遍历两个数组。

    【讨论】:

      猜你喜欢
      • 2019-05-03
      • 1970-01-01
      • 1970-01-01
      • 2021-11-24
      • 2021-12-20
      • 2021-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多