scrapy爬虫学习【三】之shell终端使用

使用scrapy进行爬取网页信息的时候,常常因为xpath等各种错误导致无法正常爬取页面。一边调试代码,一边从log日志中寻找有用的debug线索是一件非常繁琐而且麻烦的事情。因此可以使用shell终端重点调试xpath部分代码,这样可以大大节省codding的时间。

启动终端


使用终端


可用的shortcut

  • shelp() – 打印可用对象及快捷命令的帮助列表
  • fetch(request_or_url) – 根据给定的请求(request)或URL获取一个新的response,并更新相关的对象
  • view(response) – 在本机的浏览器打开给定的response。其会在response的body中添加一个 base tag ,使得外部链接(例如图片及css)能正确显示。注意,该操作会在本地创建一个临时文件,且该文件不会被自动删除

可用的Scrapy对象

  • crawler – 当前 Crawler 对象。
  • spider – 处理URL的spider。 对当前URL没有处理的Spider时则为一个 Spider 对象。
  • request – 最近获取到的页面的 Request 对象。 您可以使用replace()修改该request。或者使用
    fetch快捷命令获取新的request对象。
  • response – 包含最近获取到的页面的Response对象。
  • settings – 当前的 Scrapy settings
  • sel – 根据最近获取到的response构建的Selector对象。(在1.0中已经被取缔,应使用response)

终端会话样例

  • 打开终端

  • 获取xpath信息

  • 为什么要使用scrapy终端调试
    • 在上面xpath代码中,我首先使用的是Firebug中的Xpath插件进行获取Xpath路径,但是错误
    • 第二次使用的是自己调试好的xpath代码,但是在scrapy中仍然错误
    • 使用scrapy终端后,很方便地调试好了正确的Xpath部分代码,大大节省时间。

发表评论

电子邮件地址不会被公开。 必填项已用*标注