前言
春节放假在老家没有网,所以最近没有更新。这周加班闲暇抽空赶紧来更新一篇。我们在写爬虫的时候经常需要修改xapth规则来获取所需的数据,而Scrapy的爬虫通常是在命令行中启动的,我们怎么去调试呢?下面我就为大家介绍两种我常用的方法。
工具和环境
- 语言:python 2.7
- IDE: Pycharm
- 浏览器:Chrome
- 爬虫框架:Scrapy 1.2.1
正文
方法1
通过 scrapy.shell.inspect_response 函数来实现。以上一篇教程的爬虫为例:
|
|
我们在下载完网页源码进行解析前可以插入上述两句代码,在命令行运行爬虫出现以下效果:
此时我们就可以在命令行中使用xpath规则对response进行操作提取相应的信息:
有时候下载下来的网页结构和浏览器中看到的不一样,我们可以利用view(response)
将爬虫下载到的网页源码在浏览器中打开:
在命令行输入view(response)
后默认浏览器会自动打开下载到的网页源码。
虽然scrapy自己提供了这个方式让我们调试自己的爬虫,但是这个方式有很大的局限性。如果能利用pycharm的Debug功能进行调试就太好了。下面我就为大家介绍这么用pycharm调试自己的爬虫。
方法2
首先在setting.py同级目录下创建run.py文件。
写入以下代码:
|
|
其中name
参数为spider的name。
接着在spider文件中设置断点。
返回run.py
文件中右键选择Debug。
最后程序就会在断点处暂停,我们就可以查看相应的内容从而进行调试
结语
两种方法适合不同的场景,不过一般情况下肯定是方法2好用。: )