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 ...
随机推荐
- 【记录】logstash 命令解释
输入./bin/logstash --help 查看对应解释如下 -f #意即文件,运行指定文件 #logstash 会自动读取 /etc/logstash.d/ 目录下所有 *.conf的文本文件, ...
- ECUST_Algorithm_2019_2
简要题意及解析 1001 \(N\)个数分为\(K+8\)组,每组三个,记为\((a,b,c)\),方便起见要求\(a \leq b \leq c\),每组的代价是\((a-b)^2\),总代价为每组 ...
- RGBA的值0-255范围如何转换成0-1范围
这样一个rgba(1,0,0,1) 如果我们要把它转换成 0-255范围 就是rgb分别乘以255 就是 rgba(255,0,0,1) 0-255转0-1范围 如 rgba(34,56,56,1)转 ...
- Spring 讲解(五)
Spring 中使用 xml 配置开发和使用注解开发案例 1.Spring 中使用 xml 配置开发案例 接口 public interface UserDao { void add(User use ...
- 【JavaWeb项目】一个众筹网站的开发(一)架构搭建
本项目是@尚硅谷相关视频的记录. 本项目使用Maven构建,工程架构如下图所示: 一.公司的公共父工程和工具类包 1.父工程 每个公司都有自己的父工程 父工程作用:对公司使用的jar包进行统一管理,别 ...
- 【leetcode】935. Knight Dialer
题目如下: A chess knight can move as indicated in the chess diagram below: . This time, we p ...
- POJ 2808 校门外的树(线段树入门)
题目描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米.我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置:数轴上的每个整数点,即0,1,2,……,L,都种 ...
- AcWing 224. 计算器 (BSGS算法)打卡
题目:https://www.acwing.com/problem/content/226/ 题意:有一个计算器能完成三种功能 1.给定Y,Z,P,计算YZModPYZModP 的值: 2.给定Y,Z ...
- TIOBE 编程语言排行榜是什么,它是如何计算编程语言排行的?
做为一名程序员,都比较关注其使用编程语言的热度,一方面编程语言的热度决定了它拥有多大的市场,另一方面也关系到行业内程序员选择机会有多大. 我们总听说某个编程语言排名第一,那么这些数据到底准不准确呢? ...
- 52、saleforce 导入csv文件
Load Data Using the Custom Object Import Wizard 1. 2. 3. 4. 5. 6.然后就导入成功了