数据挖掘--爬虫--准备工作

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>  
&emsp;&emsp;将下载下来的chromedriver添加到环境变量,在命令行中进行测试是否成功
1
chromedriver
显示以下类似内容说明成功
1
2
3
Starting ChromeDriver 72.0.3626.69 (3c16f8a135abc0d4da2dff33804db79b849a7c38) on port 9515
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code
在python中进行测试
1
2
from selenium import webdriver  
brower = webdriver.Chrome()
运行打开一个新的chrome窗口

Firefox以及其驱动 GeckoDriver

FireFox[下载](http://www.firefox.com.cn/)&emsp;&emsp;GeckoDriver[下载](https://github.com/mozilla/geckodriver/releases)  
<font color="red">注意:安装的geckodriver版本要和firefox版本相匹配,geckodriver下载界面有版本要求说明,如果geckodriver未起作用,请尝试重装firefox最新版本并重启电脑</font>  
&emsp;&emsp;将下载下来的geckodriver添加到环境变量,在命令行中进行测试是否成功
1
geckodriver
在python中进行测试
1
2
from selenium import webdriver
brower = webdriver.Firefox()
运行打开一个新的firefox窗口

PhantomJS

  PhantomJS是一个无界面的、可脚本编程的webkit浏览器引擎,下载
  将下载下来的bin文件夹下的phantomjs.exe添加到环境变量,在命令行中进行测试是否成功

1
phantomjs
出现以下内容说明可用
1
phantomjs>
在python中进行测试
1
2
3
4
5
from selenium import webdriver

brower = webdriver.PhantomJS()
brower.get("http://www.baidu.com")
print(brower.current_url))
使用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
2
3
4
tesseract image.png result -l eng && type result.txt
#运行结果
#Tesseract Open Source OCR Engine v3.0S .01 with Leptonica
#Python3WebSpider
1
2
3
4
import tesserocr
from PIL import Image
image = Image.open('D:\\temp\\test\\image.png')
print(tesserocr.image_to_text(image))

数据库(略)

存储库

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网络爬虫开发实战》