【问题标题】:scraping rss feed doesn't return any results using Scrapy使用 Scrapy 抓取 rss 提要不会返回任何结果
【发布时间】:2019-06-02 03:27:58
【问题描述】:

我正在使用 Scrapy 来抓取页面,我尝试了很多次,我确信以下内容不起作用(在 shell 中)并返回空结果:

response.xpath('//*[@class="itemtitle"]/a/text()').extract()

这是 chrome 控制台中的位置,这给我带来了预期的结果:

$x('//*[@class="itemtitle"]/a/text()')[0]

我检查了robot.txt中的目标网址,发现如下:

User-agent: *
Disallow: /~a/

我想知道是不是不允许刮。

所以我的具体问题是,是否可以防止机器人抓取某些页面?如果不是我的代码有什么问题,那会在 Scrapy shell 中带来空结果。

【问题讨论】:

  • 您应该链接实际页面。也许提要是用javascript加载的。不确定scrapy是否尊重robots.txt,但它永远不会刮掉任何东西。
  • Scrapy spider 尊重 robots.txt。当然也可以关掉。但是我在scrapy shell中这样做,据我所知没有设置。

标签: python scrapy


【解决方案1】:

始终检查源 HTML(通常在浏览器中为 Ctrl+U)。你需要:

response.xpath('//item/title/text()').extract()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-13
    • 2012-03-04
    • 2015-11-04
    • 1970-01-01
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多