Python3自学 爬虫实战

爬虫开始的准备

2019-03-25  本文已影响4人  03126db27faf

各种库的安装

我的系统是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

并保存,重新启动终端窗口即可。

请求库

解析库

在爬去到网页后,需要对爬到的不适合人类阅读的大量杂乱信息中,提取出我们需要的信息,这里就需要用到解析库。常用的有lxml库,BeautifulSoup和pyquery库等。

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命令
sudo mysql.server start
sudo mysql.server stop
sudo mysql.server restart
# 启动MongoDB服务的命令
brew services start mongodb
sudo mongod
#停止和重启MongoDB服务的命令分别是:
brew services stop mongodb
brew services restart mongodb
#启动服务命令:
brew services start redis
redis-server /usr/local/etc/redis.conf
#停止和重启命令:
brew services stop redis
brew services restart redis

存储库

以上数据库只是给我们提供了数据的存储服务,如果要和Python交互的话,还需要安装一些Python的存储库。

Web库的安装

用来开发网站和接口的python库,可以使用这些web服务程序来搭建一些api接口,供我们的爬虫使用。

App爬取相关库

除了Web网页,爬虫也可以爬取app的数据,App中的页面要加载出来,首先要获取数据,这些数据一般是通过请求服务器的接口来获取的。而App通常没有显式的浏览器可以使用,通常要用一些抓包技术或工具来进行
*Charles的安装: 一个网络抓包工具,功能强大,跨平台支持好,可以作为主要的移动端抓包工具。安装方法参考链接地址。

Mac
如果你的PC是Mac系统,可以按照下面的操作进行证书配置。
同样是点击Help→SSL Proxying→Install Charles Root Certificate,即可进入证书的安装页面。
接下来,找到Charles的证书并双击,将“信任”设置为“始终信任”即可。

爬虫框架

利用框架,可以不用关心某些功能的具体实现,只要关心爬取的逻辑即可。可以大量的简化代码,而且架构也会变得更加清晰,效率也会有所提高。

部署相关库

抓取大规模数据,要用到分布式爬虫,分布式爬虫需要多台主机,每台主机多个爬虫任务,但是源代码只有一份,因此需要一个部署工具,把一份代码部署到多台主机上去。

小结

以上就是学习爬虫所需要用的的常用库,应该已经足够从入门到精通了,而且有不少库互相可以替代有所冗余。如果环境都搞定了的话,那么接下来就可以开心的学习爬虫了。

上一篇 下一篇

猜你喜欢

热点阅读