python环境的准备工作
博主在这使用windows作为系统环境,安装anaconda3作为python运行与库管理环境。
anaconda官方网站
如果下载速度过慢,可以选择使用清华大学镜像,使用说明
请求库的安装
requests库
  阻塞式http请求库
1 | pip3 install requests |
selenuim库
selenuim是一个自动化测试工具,可以使用它驱动浏览器执行特定的动作。如点击,下拉等等
1 | pip3 install selenuim |
Google Chrome 以及其驱动 ChromeDriver
  Google Chrome[下载](https://chrome.en.softonic.com/)   ChromeDriver[下载](https://chromedriver.storage.googleapis.com/index.html)
<font color="red">注意:安装的chromedriver版本要和google chrome版本相匹配</font>
  将下载下来的chromedriver添加到环境变量,在命令行中进行测试是否成功
1 | chromedriver |
显示以下类似内容说明成功
1 | Starting ChromeDriver 72.0.3626.69 (3c16f8a135abc0d4da2dff33804db79b849a7c38) on port 9515 |
在python中进行测试
1 | from selenium import webdriver |
运行打开一个新的chrome窗口
Firefox以及其驱动 GeckoDriver
FireFox[下载](http://www.firefox.com.cn/)  GeckoDriver[下载](https://github.com/mozilla/geckodriver/releases)
<font color="red">注意:安装的geckodriver版本要和firefox版本相匹配,geckodriver下载界面有版本要求说明,如果geckodriver未起作用,请尝试重装firefox最新版本并重启电脑</font>
  将下载下来的geckodriver添加到环境变量,在命令行中进行测试是否成功
1 | geckodriver |
在python中进行测试
1 | from selenium import webdriver |
运行打开一个新的firefox窗口
PhantomJS
PhantomJS是一个无界面的、可脚本编程的webkit浏览器引擎,下载
将下载下来的bin文件夹下的phantomjs.exe添加到环境变量,在命令行中进行测试是否成功
1 | phantomjs |
出现以下内容说明可用
1 | phantomjs> |
在python中进行测试
1 | from selenium import webdriver |
使用PhantonJs不会打开一个新的窗口,但实际上已经在后台运行
aiohttp
异步web服务库
1 | pip3 install aiohttp |
此外,官方还推荐安装cchardet(字符编码检测库)和aiodns(加速dns解析库),
1 | pip3 install cchardet aiodns |
解析库的安装
lxml
支持html和xml的解析,支持XPath解析方式,解析效率高
1 | pip3 install lxml |
Beautiful Soup
1 | pip3 install beautifulsoup4 |
pyquery
pyquery 同样是一个强大的网页解析工具,它提供了和 jQuery 类似的语法来解析 HTML 文梢,支持 css 选择器,使用非常方便.
1 | pip3 install pyquery |
tesserocr
cor识别,识别各种各样的验证码。tesserocr是对tesseract的一层python封装,因此需要先安装tesseract,带dev的是开发版本,不稳定,不带dev的是稳定版本
linux下
1 | pip3 install tesserocr pillow |
windows下
whl安装文件下载地址
1
pip install tesserocr-2.4.0-cp36-cp36m-win_amd64.whl
保存测试图片到本地,分别对tesseract和tesserocr进行测试,看能否识别
1 | tesseract image.png result -l eng && type result.txt |
1 | import tesserocr |
数据库(略)
存储库
PyMysql
1 | pip3 install pymysql |
PyMongo
1 | pip3 install pymongo |
redis-py
1 | pip3 install redis |
WEB库
flask
1 | pip3 install flask |
Tornado
Tornado是一个支持异步的web框架,通过使用非阻塞I/O流,可以支撑成千上万的开放连接,效率非常高。
1 | pip3 install tornado |
App爬取相关库(暂时放弃)
爬虫框架
pyspider
它带有强大的WebUI、脚本编辑器、任务监
控器、项目管理器以及结果处理器,同时支持多种数据库后端、多种消息队列,另外还支持JavaScript渲染页面的爬取
pyspider是支持JavaScript渲染的,而这个过程是依赖于PhantomJS的,所以还需要安装PhantomJS
1 | pip3 install pyspider |
Scrapy
1 | pip3 install scrapy |
参考资料
崔庆才大佬的《python3网络爬虫开发实战》