一、环境安装

1、python3安装

官网:https://www.python.org/downloads/

64 位系统可以下载 Windows x86-64 executable installer,32 位系统可以下载 Windows x86 executable installer,下载完成之后,直接双击运行 Python 安装包,使用图形界面安装,设置好 Python 的安装路径,完成后将 Python3和 Python3 的 Scripts 目录配置到环境变量即可。

点击环境变量,找到系统变量下的 Path 变量,随后点击编辑按钮

验证是否安装成功

2、请求库安装

爬虫可以简单分为几步:抓取页面、分析页面、存储数据。

Requests的安装

命令:pip install requests

Selenium的安装

命令:pip install selenium

ChromeDriver安装

查看chrome版本号,到chromeDriver官网下载对应驱动,将 chromedriver.exe 文件拖到 Python 的 Scripts 目录下

下载地址https://sites.google.com/a/chromium.org/chromedriver/downloads

PhantomJS的安装

Chrome 或 Firefox 进行网页抓取的话,每次抓取的时候,都会弹出一个浏览器,比较影响使用。所以在这里再介绍一个无界面浏览器,叫做 PhantomJS。

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)

运行,内容如下:

Aiohttp的安装

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 解析库

3、解析库

抓取下网页代码之后,下一步就是从网页中提取信息,提取信息的方式有多种多样,可以使用正则来提取,但是写起来会相对比较繁琐。在这里还有许多强大的解析库,如 LXML、BeautifulSoup、PyQuery 等等,提供了非常强大的解析方法,如 XPath 解析、CSS 选择器解析等等,利用它们我们可以高效便捷地从从网页中提取出有效信息。

LXML的安装

LXML 是 Python 的一个解析库,支持 HTML 和 XML 的解析,支持 XPath 解析方式,而且解析效率非常高。

命令:pip install lxml

BeautifulSoup的安装

BeautifulSoup 是 Python 的一个 HTML 或 XML 的解析库,我们可以用它来方便地从网页中提取数据,它拥有强大的 API 和多样的解析方式。

注意:在这里我们虽然安装的是 beautifulsoup4 这个包,但是在引入的时候是引入的 bs4,这是因为这个包源代码本身的库文件夹名称就是 bs4,所以安装完成之后,这个库文件夹就被移入到我们本机 Python3 的 lib 库里,所以识别到的库文件名称就叫做 bs4,所以我们引入的时候就引入 bs4 这个包。

因此,包本身的名称和我们使用时导入的包的名称并不一定是一致的

命令:pip install beautifulsoup4

PyQuery的安装

PyQuery 同样是一个强大的网页解析工具,它提供了和 jQuery 类似的语法来解析 HTML 文档,支持 CSS 选择器,使用非常方便。

命令:pip install pyquery

Tesserocr的安装

爬虫过程中难免会遇到各种各样的验证码,而大多数验证码还是图形验证码,这时候我们可以直接用 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

4、数据库安装

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

5、存储库安装

和 Python 交互的话也同样需要安装一些 Python 存储库,如 MySQL 需要安装 PyMySQL,MongoDB 需要安装 PyMongo 等等

PyMySQL的安装

命令:pip install pymysql

PyMongo的安装

命令: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

6、web库安装

Flask的安装

命令:pip install flask

Tornado的安装

Tornado 是一个支持异步的Web框架,通过使用非阻塞 I/O 流,它可以支撑成千上万的开放连接,效率非常高。

命令:pip install tornado

7、爬虫框架安装

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

python3爬虫_环境安装的更多相关文章

  1. 转摘python3.4 + pycharm 环境安装 + pycharm使用

    遇到很多初学者的盆友,来问python环境安装的问题..因此,这篇文章就诞生了.. 因个人是windows的环境,所以本文只讲windows环境下的python安装. 作为初用python的盆友,强烈 ...

  2. python3.4 + pycharm 环境安装 + pycharm使用

    因个人是windows的环境,所以本文只讲windows环境下的python安装. 作为初用python的盆友,强烈建议只在电脑上装一个python版本就好了,不然就进了各种坑里了. 第一步:下载和安 ...

  3. 【Python3 爬虫】05_安装Scrapy

    Scrapy简介 Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛.框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容 ...

  4. robot framework学习笔记1之_环境安装(win7)

    一.简介 Robotframework是基于Python的自动化测试框架.使用关键字驱动的测试方法,自带丰富的库函数可直接引用,可使用Java/Python进行功能库扩展,测试用例使用TSV/HTML ...

  5. Python3环境安装PySpider爬虫框架过程

    收录待用,修改转载已取得腾讯云授权 大家好,本篇文章为大家讲解腾讯云主机上PySpider爬虫框架的安装. 首先,在此附上项目的地址,以及官方文档 PySpider 官方文档 安装流程 pip 首先确 ...

  6. Python爬虫入门CentOS环境安装

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:梦想橡皮擦 CentOS环境安装-简介你好,当你打开这个文档的时候,我知 ...

  7. Python3 常用爬虫库的安装

    Python3 常用爬虫库的安装 1 简介 Windows下安装Python3常用的爬虫库:requests.selenium.beautifulsoup4.pyquery.pymysql.pymon ...

  8. python3配置爬虫开发环境

    爬虫:环境搭建 安装python3: 安装python版本:3.7.0 winsdows下的配置:

  9. Python3 爬虫之 Scrapy 框架安装配置(一)

    博客地址:http://www.moonxy.com 基于 Python 3.6.2 的 Scrapy 爬虫框架使用,Scrapy 的爬虫实现过程请参照本人的另一篇博客:Python3 爬虫之 Scr ...

随机推荐

  1. react问题解决的一些方法

    原文链接: https://segmentfault.com/a/1190000007811296?utm_source=tuicool&utm_medium=referral 初学者对Rea ...

  2. laravel application 容器app

    vendor/laravel/framework/src/Illuminate/Foundation/Application.php Application是laravel的核心容器,几乎处理所有东西 ...

  3. Linux基础命令---tload显示系统负载

    tload tload指令以字符的方式显示当前系统的平均负载情况. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.Fedora.SUSE.openSUSE.   1.语法   ...

  4. CCF CSP 201312-1 出现次数最多的数

    题目链接:http://118.190.20.162/view.page?gpid=T5 问题描述 试题编号: 201312-1 试题名称: 出现次数最多的数 时间限制: 1.0s 内存限制: 256 ...

  5. 配置React Native 安卓开发环境

    配置主要分为以下几步: 安装node.js 安装AndroidStudio 安装React Native命令行工具 搭建React Native版本的Hello World,修改代码查看效果 第一步 ...

  6. .NET Core 2.0 项目的智能提示是英文,改成中文的解决方案

    截至目前为止(2017.09.21),Microsoft 官方并没有提供 .NET Core 2.0 正式版的多语言安装包. 因此,在 Visual Studio 2015 Update 3 和 Vi ...

  7. CSS——img自适应div大小

    代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <tit ...

  8. 破圈法求解最小生成树c语言实现(已验证)

    破圈法求解最小生成树c语言实现(已验证) 下面是算法伪代码,每一个算法都取一个图作为输入,并返回一个边集T. 对该算法,证明T是一棵最小生成树,或者证明T不是一棵最小生成树.此外,对于每个算法,无论它 ...

  9. 【js】了解前端缓存,收获不止于此!

    了解前端缓存,收获不止于此! 这次我们来讲一下关于前端缓存的问题.感谢赵欢同学提供doc素材. 首先,开局我画了一张图,你会对文章有一个大局了解. 今天讲的是前端缓存. 前端缓存有3大种:如图,分为H ...

  10. topcoder srm 640 div1

    problem1 link 首先使用两个端点颜色不同的边进行连通.答案是$n-1-m$.其中$m$是联通分量的个数. problem2 link 首先构造一个最小割的模型.左边的$n_{1}$个点与源 ...