【问题标题】:Python Scrapy - Not Getting Any Content For Certain PagePython Scrapy - 没有为特定页面获取任何内容
【发布时间】:2018-01-02 08:36:50
【问题描述】:

我正在尝试从 offerup.com 上抓取一些信息,但在 scrapy shell 上,什么也没有出现。

我会输入:

scrapy shell https://offerup.com/

它会去那里,但如果我只是尝试获取整个网页的文本:

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

它回来了:

['Request unsuccessful. Incapsula incident ID: 623000250007296502-10946686267359632']

对于我尝试获取的任何其他信息(例如标题),它一无所有。
你知道为什么会这样吗?非常感谢任何帮助。

【问题讨论】:

  • 请发布您正在使用的完整代码行。
  • 如果您找到绕过 403 的方法,请告诉我们!
  • @Naltroc 这实际上是一个非常容易解决的问题。您需要做的就是将用户代理更改为普通浏览器!感谢您的帮助!

标签: python http web-scraping scrapy scrapy-spider


【解决方案1】:

请注意阅读您在访问优惠时收到的回复。

[s] 可用的 Scrapy 对象:

[s] scrapy scrapy 模块(包含 scrapy.Request、scrapy.Selector 等)

[s] 爬虫

[s] 项目 {}

[s] 请求 https://offerup.com>

[s] 响应 https://offerup.com>

您收到 403,即 禁止 错误。没有什么可以绕过 403。

如果您尝试其他站点,例如 http://buffalo.craigslist.org,则会给出 200 的 OK 响应。使用相同的命令将显示所需的页面,使用response.xpath('//text()').extract() 将从根目录打印所有文本元素。

某些网站可能设置了反抓取措施,以防止机器人占用其资源。 Offerup 显然就是这样一个网站。

要直接回答您的问题,您的代码可以正常工作,但目标站点阻止您使用它。

【讨论】:

    猜你喜欢
    • 2018-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-15
    • 1970-01-01
    相关资源
    最近更新 更多