官网:https://www.python.org/downloads/html
64 位系统能够下载 Windows x86-64 executable installer,32 位系统能够下载 Windows x86 executable installer,下载完成以后,直接双击运行 Python 安装包,使用图形界面安装,设置好 Python 的安装路径,完成后将 Python3和 Python3 的 Scripts 目录配置到环境变量便可。python
点击环境变量,找到系统变量下的 Path 变量,随后点击编辑按钮mysql
验证是否安装成功git
爬虫能够简单分为几步:抓取页面、分析页面、存储数据。github
命令:pip install requestsweb
命令:pip install seleniumredis
查看chrome版本号,到chromeDriver官网下载对应驱动,将 chromedriver.exe 文件拖到 Python 的 Scripts 目录下sql
下载地址https://sites.google.com/a/chromium.org/chromedriver/downloads。mongodb
Chrome 或 Firefox 进行网页抓取的话,每次抓取的时候,都会弹出一个浏览器,比较影响使用。因此在这里再介绍一个无界面浏览器,叫作 PhantomJS。chrome
PhantomJS 是一个无界面的,可脚本编程的 WebKit 浏览器引擎。它原生支持多种 web 标准:DOM 操做,CSS 选择器,JSON,Canvas 以及 SVG。
官方网站:http://phantomjs.org
官方文档:http://phantomjs.org/quick-start.html
下载地址:http://phantomjs.org/download.html
API接口说明:http://phantomjs.org/api/command-line.html
将下载的文件解压以后打开会看到一个 bin 文件夹,里面会包括一个可执行文件 phantomjs.exe,咱们须要将它直接放在配置好环境变量的路径下或者将它所在的路径配置到环境变量里,如咱们能够将它直接复制到 Python 的 Scripts 文件夹。
配置验证:打开cmd命令行,输入phantomjs
验证安装:
from selenium import webdriver
browser = webdriver.PhantomJS()
browser.get('https://www.baidu.com')
print(browser.current_url)
运行,内容以下:
Requests 库是一个阻塞式 HTTP 请求库,当咱们发出一个请求后,程序会一直等待服务器的响应,直到获得响应后程序才会进行下一步的处理,其实这个过程是比较耗费资源的。若是程序能够在这个等待过程当中作一些其余的事情,如进行请求的调度、响应的处理等等,那么爬取效率必定会大大提升。
Aiohttp 就是这样一个提供异步 Web 服务的库,从 Python3.5 版本开始,Python 中加入了 async/await 关键字,使得回调的写法更加直观和人性化,Aiohttp的异步操做借助于 async/await 关键字写法变得更加简洁,架构更加清晰。
官方文档:http://aiohttp.readthedocs.io/en/stable
GitHub:https://github.com/aio-libs/aiohttp
PyPi:https://pypi.python.org/pypi/aiohttp
命令:pip3 install aiohttp
官方推荐的其余两个库:
命令:pip3 install cchardet 字符编码检测库
命令:pip3 install aiodns 加速 DNS 解析库
抓取下网页代码以后,下一步就是从网页中提取信息,提取信息的方式有多种多样,可使用正则来提取,可是写起来会相对比较繁琐。在这里还有许多强大的解析库,如 LXML、BeautifulSoup、PyQuery 等等,提供了很是强大的解析方法,如 XPath 解析、CSS 选择器解析等等,利用它们咱们能够高效便捷地从从网页中提取出有效信息。
LXML 是 Python 的一个解析库,支持 HTML 和 XML 的解析,支持 XPath 解析方式,并且解析效率很是高。
命令:pip install lxml
BeautifulSoup 是 Python 的一个 HTML 或 XML 的解析库,咱们能够用它来方便地从网页中提取数据,它拥有强大的 API 和多样的解析方式。
注意:在这里咱们虽然安装的是 beautifulsoup4 这个包,可是在引入的时候是引入的 bs4,这是由于这个包源代码自己的库文件夹名称就是 bs4,因此安装完成以后,这个库文件夹就被移入到咱们本机 Python3 的 lib 库里,因此识别到的库文件名称就叫作 bs4,因此咱们引入的时候就引入 bs4 这个包。
所以,包自己的名称和咱们使用时导入的包的名称并不必定是一致的
命令:pip install beautifulsoup4
PyQuery的安装
PyQuery 一样是一个强大的网页解析工具,它提供了和 jQuery 相似的语法来解析 HTML 文档,支持 CSS 选择器,使用很是方便。
命令:pip install pyquery
爬虫过程当中不免会遇到各类各样的验证码,而大多数验证码仍是图形验证码,这时候咱们能够直接用 OCR 来识别。
Tesserocr 是 Python 的一个 OCR 识别库,但实际上是对 Tesseract 作的一层 Python API 封装,因此它的核心是 Tesseract,因此在安装 Tesserocr 以前咱们须要先安装 Tesseract。
首先须要下载 Tesseract,它为 Tesserocr 提供了支持,下载连接为:http://digi.bib.uni-mannheim.de/tesseract/
点击进入以后能够看到有各类 exe 的下载列表,在这里能够选择下载 3.0 版本,如图 1-24 所示为 3.05 版本。其中文件名中带有 dev 的为开发版本,不带 dev 的为稳定版本,能够选择下载不带 dev 的最新版本,例如能够选择下载 tesseract-ocr-setup-3.05.01.exe。下载完成以后双击安装便可。在安装过程当中能够勾选上 Additional language data 选项,安装 OCR 识别支持的语言包,这样 OCR 即可以识别多国语言,接下来再安装 Tesserocr 便可,直接使用 Pip 安装:
命令:pip install tesserocr pillow
MySQL的安装
MySQL 是一个轻量级的关系型数据库,以表的形式来存储数据,本节咱们来了解下它的安装方式。
下载地址:https://www.mysql.com/cn/downloads
MongoDB安装
MongoDB 是由 C++ 语言编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统,其内容存储形式相似 Json 对象,它的字段值能够包含其余文档,数组及文档数组,很是灵活。
连接为:https://www.mongodb.com/download-center#community
Redis的安装
Redis 是一个基于内存的高效的非关系型数据库。
下载连接:https://github.com/MSOpenTech/redis/releases。
和 Python 交互的话也一样须要安装一些 Python 存储库,如 MySQL 须要安装 PyMySQL,MongoDB 须要安装 PyMongo 等等
PyMySQL的安装
命令:pip install pymysql
命令:pip install pymongo
RedisPy的安装
命令:pip install redis
RedisDump的安装
RedisDump 是一个用于 Redis 数据导入导出的工具,是基于 Ruby 实现的,因此要安装 RedisDump 须要先安装Ruby。
有关 Ruby 的安装方式能够参考:
http://www.ruby-lang.org/zh_cn/documentation/installation
安装完成以后,咱们就能够执行 gem 命令了,它相似于 Python 中的 pip 命令:gem install redis-dump
Flask的安装
命令:pip install flask
Tornado的安装
Tornado 是一个支持异步的Web框架,经过使用非阻塞 I/O 流,它能够支撑成千上万的开放链接,效率很是高。
命令:pip install tornado
PySpider的安装
PySpider 是国人 binux 编写的强大的网络爬虫框架,它带有强大的 WebUI、脚本编辑器、任务监控器、项目管理器以及结果处理器,同时它支持多种数据库后端、多种消息队列,另外它还支持 JavaScript 渲染页面的爬取,使用起来很是方便。
命令:pip install pyspider
Scrapy的安装
Scrapy 是一个十分强大的爬虫框架,依赖的库比较多,至少须要依赖库有 Twisted 14.0,lxml 3.4,pyOpenSSL 0.14。而在不一样平台环境又各不相同,因此在安装以前最好确保把一些基本库安装好。
官方网站:https://scrapy.org
官方文档:https://docs.scrapy.org
PyPi:https://pypi.python.org/pypi/Scrapy
GitHub:https://github.com/scrapy/scrapy
中文文档:http://scrapy-chs.readthedocs.io
安装LXML
安装pyOpenSSL
pip install pyOpenSSL
安装Twisted
到 http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 下载 Wheel 文件,利用 Pip 安装便可。 如 Python 3.6 版本,Windows 64 位系统,当前最新版本为 Twisted17.5.0cp36cp36mwin_amd64.whl,直接下载便可。
而后 Pip 安装便可:
pip3 install Twisted‑17.5.0‑cp36‑cp36m‑win_amd64.whl
安装Scrapy
pip3 install Scrapy