我觉得我有必要写一下这篇文章,为了学习pyspider,花了一天的时间才把这个环境搭建成功,网上的各种解决办法都是零零碎碎的,今天我把我掉进的所有坑都和大家分享一下。
前面一直在学习request pyquery等,今天开始学习了pyspider,关于pyspider,这是国人自己写的爬虫脚本,我还没有用过,不知道怎么样,今天的主题是怎么去解决所遇到的各种错误。使用pyspider首先需要安装pyspider和PhantomJS,在python 3.7.0 scripts命令行里面输入
pip install pyspider
可能会出现以下错误
这时需要安装可以参考一篇博客https://www.cnblogs.com/xyzpeng/p/10630364.html,如果觉得不怎么详细的话,可以直接百度搜索pyspider安装错误等关键词,把这个问题解决之后,下面才是今天我遇到的最困难的问题,当在命令行输入pyspider时,会出现关键词async的错误,
Traceback (most recent call last): File "C:\Users\86134\AppData\Local\Programs\Python\Python37\Scripts\pyspider-script.py", line 11, in <module> load_entry_point('pyspider==0.3.10', 'console_scripts', 'pyspider')() File "c:\users\86134\appdata\local\programs\python\python37\lib\site-packages\pkg_resources\__init__.py", line 489, in load_entry_point return get_distribution(dist).load_entry_point(group, name) File "c:\users\86134\appdata\local\programs\python\python37\lib\site-packages\pkg_resources\__init__.py", line 2793, in load_entry_point return ep.load() File "c:\users\86134\appdata\local\programs\python\python37\lib\site-packages\pkg_resources\__init__.py", line 2411, in load return self.resolve() File "c:\users\86134\appdata\local\programs\python\python37\lib\site-packages\pkg_resources\__init__.py", line 2417, in resolve module = __import__(self.module_name, fromlist=['__name__'], level=0) File "c:\users\86134\appdata\local\programs\python\python37\lib\site-packages\pyspider\run.py", line 231 async=True, get_object=False, no_input=False): ^ SyntaxError: invalid syntax
这是因为python3.7将async作为关键词了,所以冲突所致,详细的更改内容请参考https://www.cnblogs.com/xyzpeng/p/10630364.html。
这个问题解决之后,我以为就可以pyspider all成功了,结果真的是我以为的。。。。。。。。,下面又遇到了新困难,我滴天啊,我就想学习一下pyspider知识,有这么难吗,此处省略一万句mmp,
当运行pyspider all时候,不报错了,但是.....,一直卡在这里运行不了了,我.....叫了一声老天爷,这么折磨我干嘛啊????
然后,这个问题网上居然没有解决办法,查了N次,都没有用,有的说cmd要管理员运行,有的又这样解决,然后就很无语,后来找到了一个文章,说是把电脑的防火墙和杀毒软件关了,是win10自带的哈,不是360,具体方法自行百度,然后重启,http://www.freesion.com/article/888054963/,这是原文的连接,可以参考。
当我关闭防火墙和杀毒软件之后,发现还是不行????????我就试了几次smd,试了几次之后发现居然运行成功了,然后又关掉,然后重新pyspider all,又不行????我又多试了几次,可以了,这个我就不知道什么原因了,反正是可以正常运行了,然后就进入了localhost:5000网页里面,按照各种教程开始编程,以为万事大吉了,谁知道,错误又来了。。。。。
这次的错误是
然后就查了这个错误,解决办法是这个https://cuiqingcai.com/2703.html,安装完新的pyspider之后,然后参考这篇文章,把这个错误解决了。
HTTP 599: SSL certificate problem: self signed certificate in certificate chain
我就想这次不可能再有错了吧,可是。。。错误又双叒叕来了,这次的错误是------我就不写了,直接看一下别人的吧,https://blog.csdn.net/SiHann/article/details/88294054,这是我遇到的最后一个错误,说是 node的版本太低造成的,需要重新去下载,然后我就乖乖的下载了一次,node的安装方法可以参考我的第一篇文章《基于D3的工具配置》,关于如何安装nodejs都详细写在里面我,在这里我就不详细写了,解决完整个问题之后,大功告成,成功运行出来,爬取到网页。
好啦,这就是我今天遇到的所有坑,所有解决办法都在里面了,我应该是把所有的问题都遇见了,希望可以帮助到你们哦,有问题的可以直接留言评论哈,如果对各位有帮助的话,可以赞助一下点赞关注一下哈!!今天掉的头发太多了,感谢各位!!!