python爬虫环境1
转载 https://cuiqingcai.com/5052.html
1.1 python3安装
配置环境变量;随后点击“新建”,新建一个条目,将刚才复制的C:\Python36复制进去。这里需要说明的是,此处的路径就是你的Python 3安装目录,请自行替换。然后,再把C:\Python36\Scripts路径复制进去
添加别名
上面这两种安装方式任选其一即可完成安装,但如果之前安装过Python 2的话,可能会导致版本冲突问题,比如在命令行下输入python就不知道是调用的Python 2还是Python 3了。为了解决这个问题,建议将安装目录中的python.exe复制一份,命名为python3.exe,这样便可以调用python3命令了。实际上,它和python命令是完全一致的,这样只是为了可以更好地区分Python版本;在“开始”菜单中搜索cmd,找到命令提示符,此时就进入命令行模式了。输入python,测试一下能否成功调用Python。如果添加了别名的话,可以输入python3测试,就调用了python3
1.2 请求库的安装
爬虫可以简单分为几步:抓取页面、分析页面和存储数据,用到一些Python库来实现HTTP请求操作;用到的第三方库有Requests、Selenium和aiohttp等
1.2.1 request的安装
安装方式 1 wheel 安装是Python的一种安装包,其后缀为.whl,在网速较差的情况下可以选择下载wheel文件再安装,然后直接用pip3命令加文件名安装即可,下载对应的库的whl文件,切换到相应的目录执行 wheel文件目录,利用pip安装即可 如 pip3 install requests-2.17.3-py2.py3-none-any.whl
pip 安装 命令行下执行 pip install requests
源码安装 git clone git://github.com/kennethreitz/requests.git ;cd request 执行 python3 setup.py install即可安装
1.2.2 selenium 的安装
pip install selenium
1.2.3 ChromeDriver驱动的配置
安装ChromeDriver。因为只有安装ChromeDriver,才能驱动Chrome浏览器完成相应的操作,下载浏览器对应版本号的ChromeDriver,可以直接将chromedriver.exe文件拖到Python的Scripts目录下;配置完成后,就可以在命令行下直接执行chromedriver命令进行测试;弹出如下
Starting ChromeDriver 2.31.488763 (092de99f48a300323ecf8c2a4e2e7cab51de5ba8) on port 9515
Only local connections are allowed.
最新的Chrome浏览器版本已经支持无界面模式了
1.2.4 GeckoDriver安装
同ChromeDriver;配置完成后,就可以在命令行下直接执行geckodriver命令测试,会弹出相关提示
1.2.5 PhantomJS 最新的Chrome浏览器版本已经支持无界面模式了
1.2.6 aiohttp
Requests库是一个阻塞式HTTP请求库,当我们发出一个请求后,程序会一直等待服务器响应,直到得到响应后,程序才会进行下一步处理。其实,这个过程比较耗费资源。如果程序可以在这个等待过程中做一些其他的事情,如进行请求的调度、响应的处理等,那么爬取效率一定会大大提高。
aiohttp就是这样一个提供异步Web服务的库,从Python 3.5版本开始,Python中加入了async/await关键字,使得回调的写法更加直观和人性化。aiohttp的异步操作借助于async/await关键字的写法变得更加简洁,架构更加清晰
pip3 install aiohttp
官方还推荐安装如下两个库:一个是字符编码检测库cchardet,另一个是加速DNS的解析库aiodns。安装命令如下:
pip3 install cchardet aiodns
1.3 解析库
抓取网页代码之后,下一步就是从网页中提取信息。提取信息的方式有多种多样,可以使用正则来提取,但是写起来相对比较烦琐。这里还有许多强大的解析库,如lxml、Beautiful Soup、pyquery等。此外,还提供了非常强大的解析方法,如XPath解析和CSS选择器解析等,利用它们,我们可以高效便捷地从网页中提取有效信息
1.3.1 lxml
lxml是Python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高
windows 安装 pip3 install lxml
1.3.2 Beautiful Soup
是Python的一个HTML或XML的解析库,我们可以用它来方便地从网页中提取数据。它拥有强大的API和多样的解析方式
Beautiful Soup的HTML和XML解析器是依赖于lxml库的,所以在此之前请确保已经成功安装好了lxml库
pip3 install beautifulsoup4
我们虽然安装的是beautifulsoup4这个包,但是在引入的时候却是bs4。这是因为这个包源代码本身的库文件夹名称就是bs4,所以安装完成之后,这个库文件夹就被移入到本机Python3的lib库里,所以识别到的库文件名就叫作bs4。
1.3.3
pyquery同样是一个强大的网页解析工具,它提供了和jQuery类似的语法来解析HTML文档,支持CSS选择器
pip3 install pyquery
1.3.4
OCR,即Optical Character Recognition,光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。对于图形验证码来说,它们都是一些不规则的字符,这些字符确实是由字符稍加扭曲变换得到的内容;tesserocr是Python的一个OCR识别库,但其实是对tesseract做的一层Python API封装,所以它的核心是tesseract。因此,在安装tesserocr之前,我们需要先安装tesseract
https://cuiqingcai.com/5189.html
pip3 install tesserocr pillow
1.4 数据库
为数据存储的重要部分,数据库同样是必不可少的,数据库可以分为关系型数据库和非关系型数据库
关系型数据库如SQLite、MySQL、Oracle、SQL Server、DB2等,其数据库是以表的形式存储,非关系型数据库如MongoDB、Redis,它们的存储形式是键值对,存储形式更加灵活
mysql 的安装
1.4.2 mongodb数据库
https://cuiqingcai.com/5205.html
1 下载mongodb msi 安装包直接安装
2 安装成功之后,进入MongoDB的安装目录,此处是C:\MongoDB\Server\3.4,在bin目录下新建同级目录data
3 然后进入data文件夹,新建子文件夹db来存储数据目录
4 之后打开命令行,进入MongoDB安装目录的bin目录下,运行MongoDB服务 mongod --dbpath "C:\MongoDB\Server\3.4\data\db" ;cmd会出现相关信息
5 在“开始”菜单中搜索cmd,找到命令行,然后右击它以管理员身份运行即可。
随后新建一个日志文件,在bin目录新建logs同级目录,进入之后新建一个mongodb.log文件,用于保存MongoDB的运行日志
6 cmd 执行 mongod --bind_ip 0.0.0.0 --logpath "C:\MongoDB\Server\3.4\logs\mongodb.log" --logappend --dbpath "C:\MongoDB\Server\3.4\data\db" --port 27017 --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install
7 这里的意思是绑定IP为0.0.0.0(即任意IP均可访问),指定日志路径、数据库路径和端口,指定服务名称
8 如果没有出现错误提示,则证明MongoDB服务已经安装成功,可以在服务管理页面查看到系统服务
9 然后就可以设置它的开机启动方式了,如自动启动或手动启动等,这样我们就可以非常方便地管理MongoDB服务了。
10 启动服务后,在命令行下就可以利用mongo命令进入MongoDB命令交互环境了,如图1-38所示。
1.4.3 redis
Redis是一个基于内存的高效的非关系型数据库
下载地址 https://github.com/MSOpenTech/redis/releases
在系统服务页面里,可以观察到多了一个正在运行到Redis服务
安装后,直接连接本地Redis即可
1.5 数据库想要和Python交互的话,还需要安装一些Python存储库,如MySQL需要安装PyMySQL,MongoDB需要安装PyMongo
1.5.1 pymysql
pip3 install pymysql
1.5.2 mongodb
pip3 install pymongo
1.5.3 redis
对于Redis来说,我们要使用redis-py库来与其交互
pip3 install redis
1.5.4 RedisDump
RedisDump是一个用于Redis数据导入/导出的工具,是基于Ruby实现的,所以要安装RedisDum
1.6 web库
在本书中,我们主要使用这些Web服务程序来搭建一些API接口,供我们的爬虫使用。例如,维护一个代理池,代理保存在Redis数据库中,我们要将代理池作为一个公共的组件使用,那么如何构建一个方便的平台来供我们获取这些代理呢?最合适不过的就是通过Web服务提供一个API接口,我们只需要请求接口即可获取新的代理,这样做简单、高效、实用
python爬虫环境1的更多相关文章
- selenium+python爬虫环境搭建
前言: 准备使用selenium爬取网站数据,先搭建selenium+python爬虫环境搭建 系统环境: 64位win10系统,同时装python2.7和python3.6两个版本,IDE为pych ...
- 1,Python爬虫环境的安装
前言 很早以前就听说了Python爬虫,但是一直没有去了解:想着先要把一个方面的知识学好再去了解其他新兴的技术. 但是现在项目有需求,要到网上爬取一些信息,然后做数据分析.所以便从零开始学习Pytho ...
- Python爬虫环境常用库安装
1:urllib urllib.request这两个库是python自带的库,不需要重新安装,在python中输入如下代码: import urllibimport urllib.requestres ...
- 利用Anaconda进行python爬虫环境的配置-安装scrapy
1.下载Anaconda,下载地址:https://www.continuum.io/downloads 2.安装anaconda. 3.安装scrapy
- 2,简单的Python爬虫
前言 根据上一篇 1,Python爬虫环境的安装我们已经在本地安装好了Python环境,那么这一篇就开始学习如何用Python来爬虫! 环境:操作系统:Windows10 IDE: PyCharm ...
- python爬虫入门-开发环境与小例子
python爬虫入门 开发环境 ubuntu 16.04 sublime pycharm requests库 requests库安装: sudo pip install requests 第一个例子 ...
- Python笔记(一):安装+爬虫环境配置+打包为EXE文件
1. 安装 https://www.python.org/downloads/windows/ 到官网下载安装程序 Windows x86 32位操作系统 Windows x8 ...
- Python爬虫入门教程 1-100 CentOS环境安装
简介 你好,当你打开这个文档的时候,我知道,你想要的是什么! Python爬虫,如何快速的学会Python爬虫,是你最期待的事情,可是这个事情应该没有想象中的那么容易,况且你的编程底子还不一定好,这套 ...
- python爬虫学习笔记(一)——环境配置(windows系统)
在进行python爬虫学习前,需要进行如下准备工作: python3+pip官方配置 1.Anaconda(推荐,包括python和相关库) [推荐地址:清华镜像] https://mirrors ...
随机推荐
- 2018-2-13-win10-uwp-HttpClient-post错误
title author date CreateTime categories win10 uwp HttpClient post错误 lindexi 2018-2-13 17:23:3 +0800 ...
- POJ1149PIGS
传送门 貌似是最大流建图优化入门题(可惜我还是不会) 最暴力的建图当然是源点连每个猪圈然后猪圈需要拆成n个点分给每个人这个必定是跑不过的 所以我们可以进行优化 很明显没有被动过的猪圈一直是不变的可以不 ...
- Jenkins的安装、部署、启动(完整教程)
测试环境 Linux系统 Centos 7 安装步骤: 1.安装jdk 我安装的是jdk8,此处就不多说了,自己百度哈,很简单 2.安装jenkins 首先依次执行如下三个命令: 2.1.导入镜像: ...
- 【多线程】无锁编程以及CAS
无锁编程 / lock-free / 非阻塞同步 无锁编程,即不使用锁的情况下实现多线程之间的变量同步,也就是在没有线程被阻塞的情况下实现变量的同步,所以也叫非阻塞同步(Non-blocking Sy ...
- PHP curl_reset函数
curl_reset— 重置libcurl会话句柄的所有选项. 说明 void curl_reset ( resource $ch ) 该函数将重新初始化cURL的所有选项值(默认值). 注意:cur ...
- 【PowerOJ1740&网络流24题】圆桌聚餐(最大流)
题意: 来自n个不同国家的代表开会,每个国家代表数为ci 会场有m张圆桌,每张桌子可容纳mi人 不希望有同一个国家的代表在同一张桌子上就餐 设计一个合法方案 (n,m<=300) 思路:最大流, ...
- implements Serializable有什么作用
转自 http://blog.csdn.net/dinghqalex/article/details/46009911
- eclipse导入工程时出现大红色感叹号(转)
转载文章:http://blog.csdn.net/xiaotaibai2008/article/details/6365334 因为也遇到了同样的问题,所以google了以下,希望对于我这个小菜鸟有 ...
- PHP基础知识总结(三) 流程控制、函数、类对象和数据库
PHP基础语法 1.流程控制 条件语句:if elseif else / switch if($a == 1){ …… } elseif ($a == 2){ …… } else{ …… } 循环 ...
- 修改 DbVisualizer 自动完成快捷键
1.找到 DbVisualizer 安装目录 lib目录 下的 dbvis.jar 包. 2.使用 WinRaR 打开dbvis.jar包,编辑 dbvis-actions.xml 文件(解压或直接修 ...