python爬虫笔记_python爬虫笔记——框架的安装

爬虫框架的安装

直接用requests、Selenium等库写爬虫,当爬取量不是太大,速度要求不高,是完全可以满足要求的。但是写多了会发现内部许多代码和组件是可以复用的,如果我们把这些组件抽离出来,将各个功能模块化,就慢慢会形成一个框架雏形,然后爬虫框架就形成了。

利用框架,我们可以不用再去关心莫些共能得具体实现,只需要关心爬取逻辑即可。有了塔门,可以大大简化代码量,而且框架也会变得清晰,爬取效率也会高许多。所以,如果有一定得基础,上手框架是一种好的选择。

爬虫框架有pyspider和Scrapy。下面是pyspider、Scrapy及其扩展库的安装方式。

1. pyspider的安装

pyspider是国人binux编写的强大的网络爬虫框架,它带有强大的WebUI、脚本编辑器、任务监控器、项目管理器以及结果处理器,同时支持多种数据库后端、多种消息列队,另外还支持Javascript渲染页面的爬取,使用起来非常方便。

准备工作

pyspider是支持Javascript渲染的,而这个过程是依赖于PhantonJS的,所以还需要安装PhantomJS(安装见1.2.5节)

pip安装

pip安装,命令如下:

pip3 install pyspider

常见错误

Windows下可能会出现这样的错误提示:

Snipaste_2019-12-20_13-21-08.png

错误显示无效的语法,导致这种情况的原因是在更新的python3 中,已经将async 设置为关键字,而pyspider 版本更新缓慢并没有在此处修改,所以导致pyspider 不能正常启动。

解决方法:

打开安装Python的位置:python位置\Lib\site-packages\pyspider

比如我的安装位置:D:\ProgramData\Anaconda3\Lib\site-packages\pyspider

修改下列python文件中的async为shark(全部替换)

run.py

webui\app.py

特别注意: 还有一个地方就是fetcher\tornado_fetcher.py这个文件还需要需改,这个里面的async不是都需要替换,这个文件中的CurlAsyncHTTPClient含有async,不需要改。IDE打开文件

Snipaste_2019-12-20_13-33-49.png

使用Ctrl+r替换run.py、webui\app.py、还有fetcher\tornado_fetcher中的asnyc

cmd命令输入: pyspider all

浏览器输入http://localhost:5000, 就会进入 pyspider 的WebUI管理页面,这样我们的pyspider 就安装成功了。

Snipaste_2019-12-20_13-40-47.png

其他问题可以参考:

2. Scrapy

Scrapy是一个十分强大的爬虫框架,依赖的库比较多,至少需要依赖的库有Twisted 14.0、lxml 3.4和pyOpenSSL 0.14。在不同的平台环境下,她所依赖的库也各不同,所以在安装之前,最好确保把一些基本库安装好。

Anaconda安装

这是一种比较简单的安装Scrapy的方法,当然你的python首先必须是Anaconda安装的,这种方法简单、省力。如果已经安装了Anaconda,就可以通过conda命令安装Scrapy,命令:

conda install Scrapy

3. Scrapy-Splash的安装

Scrapy-Splash是一个Scrapy中支持Javascript渲染的工具,

Scrapy-Splash的安装分为两部分。一个是Splash服务的安装,具体是通过Docker,安装之后,会启动一个Splash服务,我们通过它的接口来实现Javascript页面的加载,另一个是Scrapy-Splash的python库的安装,安装之后即可在Scrapy中使用Splash服务。

安装Splash

Scrapy-Splash会使用Splash的HTTP API进行页面渲染,所以需要安装Splash来提供渲染服务。我们需要Docker安装。

安装命令:

docker run -p 8050:8050 scrapinghub/splash

Splash已经在8050端口运行了,打开http://localhost:8050, 可以看到Splash的主页。

Splash也可以安装在远程服务器上,在服务器上要以守护态运行Splash即可,命令:

docker run -d -p 8050:8050 scrapinghub/splash

-d参数代表将Docker容器以守护态运行,中断远程服务器连接后,不会终止Splash服务的运行

Scrapy-Splash的安装

安装python库:

pip3 install scrapy-splash

命令运行完毕后,即安装成功。

4. Scrapy-Redis的安装

Scrapy-Redis是Scrapy的分布式扩展模块,我们就可以方便地实现Scrapy分布式爬虫的搭建。

pip安装

命令: pip3 install scrapy-redis

安装测试

python命令:

$ python

>>> import scrapy_redis

没有错误报错,则安装成功

大部分内容参照《《Python 3网络爬虫开发实战》》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值