目录
需要安装的库
爬虫需要python安装相关的库才能正常爬取相关的网页内容,维绕着抓取网页、分析代码 、存储数据三步拆解需要安装的python库。
- 网页请求相关的库
- 解析网站代码相关的库
- 存储攫取的数据相关的库(数据库相关)
- web相关的库
- APP爬取相关的库
请求库的安装
一般请求库包含6个:1、requests
安装 requests
主要用于发送网络请求,返回响应数据。
- 相关链接
- GitHub: https://github.com/requests/requests
- PyPI:https://pypi.python.org/pypi/requests
- 官方文档:http://www.python-requests.org
- 中文文档:http://docs.python-requests.org/zh_CN/lastest
- 安装方式
requests为第三方库,有三种方式安装,我自己用的是Win10+Python3.7
的环境,pip方式老是报错,我个人推荐用wheel方式安装,没有用源码安装。
wheel 安装方式
在这之前我也从网看了好多的方式尝试解决“版本”确认问题。目前能用的是如下方式。
首先在windows终端中进入python安装目录,然后输入以下命令
pip debug --verbose
即可看到当前python版本可以安装的适配文件标签
下载对应的requests的whl文件
requests-2.25.1-py2.py3-none-any.whl
进入whl文件目录,使用下面的命令进行安装
pip install requests-2.25.1-py2.py3-none-any.whl
安装 Selenium
Selenium 是一个自动化测试工具,利用它我们可驱动浏览器执行特定的动作,如点击、
下拉等操作。对于一些JavaScript渲染的页面来说,这种抓取方式非常有效。
- 相关链接
- 官方网站: http://www.seleniumhq.org
- GitHub: https://github.com/SeleniumHQ/selenium/tree/master/py
- PyPI: https://pypi.python.org/pypi/selenium
- 官方文档: http://selenium-python.readthedocs.io
- 中文文档: http://selenium-python-zh.readthedocs.io
- 安装方式
采用如下代码安装,亲测可行。
pip install selenium
与Selenium配合使用的工具
Selenium库只是一个自动化测试工具,需要浏览器来配合使用。
ChromeDriver (Chrome浏览器专用)
ChromeDriver需要对应的Chrome浏览器版本
- 检查浏览器对应的版本
我的计算机是 87.0.4280.88 版本
- 访问如下的网址下载对应的版本
- 官方地址: https://sites.google.com/a/chromium.org/chromedriver
- 下载地址: https://chromedriver.storage.googleapis.com/index.html
解压后对应的chromedriver.exe放到python 安装路径下的script 文件夹中
验证是否安装成功:
方法1:在Windows10命令行输入 chromedriver 如下图所示说明成功。
方法2: 运行如下代码查看是否弹出一个空白的chrome浏览器
# -*- coding: utf-8 -*-
from selenium import webdriver
browser = webdriver.Chrome()
GeckoDriver (Firefox浏览器专用)
- GitHub: https://github.com/mozilla/geckodriver
- 下载地址: https://github.com/mozilla/geckodriver/releases
根据上面的链接下载对应的版本,解压后将geckodriver.exe放在python 安装路径下的script 文件夹中。这种方法和chromedriver一样。
验证是否安装成功:
执行如下的Python代码。看是否会有一个空白的Firefox浏览器。
# -*- coding: utf-8 -*-
from selenium import webdriver
browser = webdriver.Firefox()
PhantomJS安装 (现在selenium通过 Chrome 的无界模式实现))
ChromeDriver 和 GeckoDriver 都会打开浏览器,Selenium支持PhantomJS,这样在运行的时候不会再弹出一个浏览器了。无界面的、可脚本编程的WebKit浏览器引擎,它原生支持,它原生支持多种web标准:dom操作、css选择器、json、canvas以及SVG,而且PhantomJS的运行效率也很高,还支持各种参数配置,使用非常方便。
相关连接
- 官方网站 http://phantomjs.org
- 官方文档 http://phantomjs.org/quick-start.html
- 下载地址 http://phantomjs.org/download.html
- API接口说明 http://phantomjs.org/api/command-line.html
根据上面的链接下载对应的版本phantomjs-2.1.1-windows.zip,解压后将bin文件夹下phantomjs.exe放在python 安装路径下的script 文件夹中。这种方法和chromedriver一样。
# -*- coding: utf-8 -*-
from selenium import webdriver
browser = webdriver.PhantomJS()
browser.get('https://www.baidu.com')
print(browser.current_url)
安装 aiohttp
之前介绍的requests库是一个阻塞式HTTP请求库,当发出请求后,程序会一直等待服务器响应,直到得到响应后,程序才会进行下一步处理。此种方式耗时,为提高效率通过aiohttp提供的异步Web服务的库解决。
- 相关链接
- 官方文档:http://aiohttp.readthedocs.io/en/stable
- GitHub:http://github.com/aio-libs/aiohttp
- PyPI:http://pypi.python.org/pypi/aiohttp
- 安装方式
pip install aiohttp
- 官方推荐两个库
pip install cchardet
# 字符编码检测库
pip install aiodns
# 加速dns的解析库 - 验证方式
import aiohttp
如果不报错就算安装成功。