各种库的安装
我的系统是MacOS Mojave 10.14.3,Python版本是3.7
各种库在Mac系统下的安装都非常简单,直接在终端里面使用pip3或者brew安装工具就能搞定,其中pip3在python3.7安装之后就能直接使用,brew的安装请参考其他的教程。
一下就是一些常用的库的列表和简单的使用方法,我在这里做一个汇总,如果想要知道详细的内容可以通过链接在崔老师的博客上查看。
如果在安装过程中,下载进度缓慢,请更换pip的源,我设置的是aliyun的源,速度尚可。
过程如下:更改~/.pip/pip.conf文件,如果没有这个文件或文件夹,请自行创建。使用vim或者其他的文本编辑工具打开盖文件,添加:
[global]
trusted-host = mirrors.aliyun.com
index-url = https://mirrors.aliyun.com/pypi/simple
并保存,重新启动终端窗口即可。
请求库
- Requests库的安装:
pip3 install requests
- Selenium库的安装:
pip3 install selenium
- ChromeDriver的安装: 这个工具的安装比较麻烦,在Mac上可以用Safari替代ChromeDriver,也就是使用Safari模拟浏览器操作,只需要在Safari的开发者设置里面允许远程自动化即可。
- GeckoDriver:这是FireFox浏览器的一个驱动,如果使用Safari就可以不安装,同上。
- PhantomJS的安装:这个库是一个无界面的浏览器,也就是说可以用脚本来操作浏览器,功能非常强大。安装方法需要下载文件,解压后需要把其bin文件夹路径添加到系统的PATH路径。下载地址.
- aiohttp库的安装: 与requests不同,aiohttp是一个提供异步Web服务的库。
pip3 install aiohttp
解析库
在爬去到网页后,需要对爬到的不适合人类阅读的大量杂乱信息中,提取出我们需要的信息,这里就需要用到解析库。常用的有lxml库,BeautifulSoup和pyquery库等。
- lxml库的安装: 支持HTML和XML的解析,非常高效
pip3 install lxml
- Beautiful Soup 库的安装: BeautifulSoup现在已经更新到4.x版本,之前的版本已经不再维护了。所以可以直接使用
pip3 install bs4
进行安装,在使用的过程中可以用from bs4 import beautifulsoup4
进行调用。 - pyquery库的安装:
pip3 install pyquery
- tersserocr : 这个库可以识别图片中的文字,可以用来填写验证码之类的。在windows下安装好想比较复杂,在Mac下可以先使用brew安装其依赖库
brew install imagemagick
brew install tesseract --all-languages
#上面这条在我的系统上会报一个没有命令选项的错误
#重新安装后出现了以下提示,应该是安装命令改变的原因
#如果失败可以使用下面这条命令安装brew install tesseract-lang
#This formula containes only the "eng", "osd", and "snum" language data files.
#If you need all the other supported languages, `brew install tesseract-lang`.
pip3 install tesserocr pillow
数据库的安装
数据库可以保存我们爬取到的网页信息。数据库分为关系数据库和非关系数据库,其中前者我见的比较多,
如关系型数据库:SQLite\MySQL\Oracle\SQL server\DB2等,非关系型数据库如:MongoDB\Redis
- MySQL数据库安:
brew install mysql
#常用的mysql命令
sudo mysql.server start
sudo mysql.server stop
sudo mysql.server restart
- MongoDB库的安装: MongoDB是一个基于分布式文件存储的开源数据库系统,内容以JSON对象存储,在Mac下可以直接使用
brew install mongodb
进行安装。
# 启动MongoDB服务的命令
brew services start mongodb
sudo mongod
#停止和重启MongoDB服务的命令分别是:
brew services stop mongodb
brew services restart mongodb
- Redis数据库的安装: 同样的可以使用
brew install redis
进行安装。(感觉还是Mac上面安装软件简单啊,哈哈,windows下还要去下软件,麻烦)
#启动服务命令:
brew services start redis
redis-server /usr/local/etc/redis.conf
#停止和重启命令:
brew services stop redis
brew services restart redis
存储库
以上数据库只是给我们提供了数据的存储服务,如果要和Python交互的话,还需要安装一些Python的存储库。
- PyMySQL的安装:如果想要将数据存储到MySQL中,需要借助PyMySQL来操作。安装方法
pip3 install pymysql
- PyMongoDB的安装:同样的,MongoDB的操作库也使用同样的方法安装:
pip3 install MongoDB
- RedisPy的安装:这个命令看上去稍有不同,就是
pip3 install redis
- RedisDump的安装:这个库使用来导入导出Redis数据的,安装之前需要先安装Ruby(基于Ruby语言),再使用gem安装redisdump
gem install redis-dump
Web库的安装
用来开发网站和接口的python库,可以使用这些web服务程序来搭建一些api接口,供我们的爬虫使用。
- Flask的安装:一个轻量级的Web服务程序。
pip3 install flask
- Tornado的安装:一个支持异步的Web框架,通过使用非阻塞I/O流,可以支撑成千上万的开放连接,效率非常高。
pip3 install tornado
App爬取相关库
除了Web网页,爬虫也可以爬取app的数据,App中的页面要加载出来,首先要获取数据,这些数据一般是通过请求服务器的接口来获取的。而App通常没有显式的浏览器可以使用,通常要用一些抓包技术或工具来进行
*Charles的安装: 一个网络抓包工具,功能强大,跨平台支持好,可以作为主要的移动端抓包工具。安装方法参考链接地址。
Mac
如果你的PC是Mac系统,可以按照下面的操作进行证书配置。
同样是点击Help→SSL Proxying→Install Charles Root Certificate,即可进入证书的安装页面。
接下来,找到Charles的证书并双击,将“信任”设置为“始终信任”即可。
- mitmproxy的安装: 支持http和https的抓包工具,通过控制台的形式操作。
pip3 install mitmproxy
在Mac下还可以使用brew工具安装:
brew install mitmproxy
安装完之后需要对证书进行配置,详情参考链接。 - Appium的安装: 类似于Selenium。详情参考链接。
爬虫框架
利用框架,可以不用关心某些功能的具体实现,只要关心爬取的逻辑即可。可以大量的简化代码,而且架构也会变得更加清晰,效率也会有所提高。
- Pyspider框架的安装:是国人binux编写的爬虫框架。
pip3 install pyspider
- Scrapy框架的安装:之前在追嵩天老师的Python爬虫课的时候,这个库怎么都装不上,无奈放弃。这次一条命令就装上了,有点开心。
pip3 install Scrapy
- Scrapy-Splash的安装:支持JavaScript渲染的工具。
pip3 install scrapy-splash
- Scrapy-Redis的安装: Scrapy的分布式扩展模块。
pip3 install scrapy_redis
部署相关库
抓取大规模数据,要用到分布式爬虫,分布式爬虫需要多台主机,每台主机多个爬虫任务,但是源代码只有一份,因此需要一个部署工具,把一份代码部署到多台主机上去。
- Docker的安装:
brew cask install docker
,在Mac上也可以下载docker客户端进行安装,这样会有图形界面。 - Scrapyd的安装:
pip3 install scrapd
- Scrapyd-Client的安装 :
pip3 install scrapyd-client
- Scrapy-api安装:
pip3 install python-scrapyd-api
- Scrapyrt的安装:
pip3 install scrapyrt
- Gerapy的安装:
pip3 install gerapy
小结
以上就是学习爬虫所需要用的的常用库,应该已经足够从入门到精通了,而且有不少库互相可以替代有所冗余。如果环境都搞定了的话,那么接下来就可以开心的学习爬虫了。