如何在Scrapy Shell中获得Scrapy反应

时间:2017-04-09 01:53:06

标签: python python-2.7 scrapy ipython scrapy-spider

我是Scrapy项目的新手,已经阅读了很多教程。他们似乎都假设您知道如何立即解析响应对象,并且您可以立即调用响应回调(例如scrapy.Request(url=url, callback=self.parse))。但实际上,我需要使用反复试验来处理CSS选择器。

如何获取Scrapy响应对象以便我可以交互操作它?

scrapy.Request(url=url)的响应似乎是我无法使用的(参见屏幕截图) - 没有用于解析HTML - 例如没有.css方法。 enter image description here

2 个答案:

答案 0 :(得分:2)

在shell中

,使用fetch(request)

  • fetch(url[, redirect=True]) - 从给定的URL获取新响应并相应地更新所有相关对象。你可以选择要求HTTP 3xx重定向,然后不要传递redirect = False
  • fetch(request) - 从给定请求中获取新响应并相应地更新所有相关对象。

答案 1 :(得分:-1)

scrapy异步工作,请求上的4.isPerfectSquare // true 7.isPerfectSquare // false 9.isPerfectSquare // true (-9).isPerfectSquare // false 方法用于确定哪种"方法"在这种情况下将收到callback对象。

所以,如果您真的关注过很多教程,那么您将会遇到以下情况:

response
通过这种方式,您可以按顺序获得响应。