1安装
pip install pyspider
2安装PhantomJS 链接http://phantomjs.org/download.html
下载好解压,将其放在bin目录下(我的是在D:\python\Library\bin)
3可能会遇见错误1
python3.7不兼容pyspider问题(出现占用关键字的问题)
Python 3.5中引入了async和await,它们在Python 3.7中成为关键字。
所以需要替换一下关键字。
分别在run.py、tornado_fetcher.py、webui>app.py,ctrl+f查找async替换掉就可以了。
2错误2
这是我遇到的,然后网上居然没有特别明显的解决,费劲千辛万苦才查到,这是WsgiDAV发布了版本 pre-release 3.x导致的,所以只要把版本降下来就好了。
将wsgidav替换为2.4.1
•# python -m pip install wsgidav==2.4.1
3错误3
ssl599错误
解决方法
在on_start()加validate_cert=False
def on_start(self):
self.crawl('https://www.lagou.com/jobs/list_python%E7%88%AC%E8%99%AB?labelWords=&fromSearch=true&suginput=', callback=self.index_page, validate_cert=Flase)
4错误4
TypeError: initialize() got an unexpected keyword argument ‘io_loop
原因:python环境中,默认tornado版本是最新的5.0,在4.0之后就废弃了io_loop参数。
解决方法:
1、pip uninstall tornado
2、pip install tornado==4.1
最后运行不报错的话就成功了
然后可以测试一下,可以参考https://www.jianshu.com/p/ce9d26d32bcf和https://blog.csdn.net/SiHann/article/details/88239892这两篇,我就是参考的,最后测试可行,想试一下的也可以试试
但是平心而论,不建议使用pyspider,会占用浏览器,还有一些其他弊端就不再一一细说,还是使用scapy框架的好,做一下简单不需要日常维护的小型项目还是可以的,反正本人不会常使用的