【问题标题】:Cannot Scrape Data from Bloomberg Website using Scrapy无法使用 Scrapy 从彭博网站抓取数据
【发布时间】:2019-06-03 14:53:32
【问题描述】:

您好,我只是想在这个网站上抓取“标题”和“发布日期”,我确信我使用的是正确的 response.xpath,但它总是没有。

response.xpath("//h1[@class = 'lede-text-v2__hed']").extract_first()
response.xpath("//meta[@property = 'og:title']/@content").extract_first()

两个都拿不到标题

也在发布日期

response.xpath("//time[@class = 'article-timestamp']/@datetime").extract_first()

什么都没有,请问有什么办法吗?

这是网址

https://www.bloomberg.com/news/articles/2019-05-30/tesla-dealt-another-blow-as-barclays-sees-it-as-niche-carmaker

谢谢!

【问题讨论】:

    标签: python scrapy


    【解决方案1】:

    您被检测为机器人。

    使用scrapy shell <url> 和view(response) 查看您收到的回复。

    避免被发现的措施包括:

    • 如果您负担得起,请使用智能代理。

    • 尽量让您的请求与您的网络浏览器的请求更相似。

    • 使用飞溅。

    在后两种情况下,请准备好同时使用多个代理,以防它们由于意外的高活动而禁止您的 IP 地址。

    【讨论】:

    • 嗨@gallaecio,谢谢你帮助我我实际上正在使用scrapy shell进行测试,但我什么也没得到,而且我已经有了 crawlera(智能代理)。请问有什么办法吗?
    • 在 Crawlera 还不能工作的情况下,Splash 通常会为我完成工作。
    • 我不习惯splash,可以只用scrapy吗?
    • 应对反爬虫措施的一般方法是尽可能模仿您的网络浏览器。在 Scrapy 中是可行的,但你必须花一些时间,看看你的浏览器做了什么,尽量模仿你的浏览器,一旦你找到了正确的方法,你还需要重试请求当您知道自己已被检测到并让您的方法与 Crawlera 配合使用以避免 IP 被禁止时。
    • 这对我来说真的很难,感谢@gallaecio 帮助我并为此提供建议,非常感谢
    猜你喜欢
    • 1970-01-01
    • 2013-05-09
    • 2020-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-21
    • 1970-01-01
    相关资源
    最近更新 更多