龙空技术网

Python网络爬虫 环境部署

lovesLife 51

前言:

现时我们对“jquery图片扫描”大致比较关切,小伙伴们都想要分析一些“jquery图片扫描”的相关资讯。那么小编也在网络上搜集了一些对于“jquery图片扫描””的相关文章,希望各位老铁们能喜欢,同学们快快来了解一下吧!

Python3的安装

Anaconda的安装:(使用清华大学镜像)

请求库的安装1. Requests库的安装

最简单的安装方法——pip安装

pip3 install requests

2. Selenium库的安装

Selenium是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击、下拉等操作 。

pip3 install selenium

3. ChromeDriver的安装

首先查看chrome浏览器的版本

ChromeDrive的官方网址:

下面看我的python安装路径:

所以配置ChromeDriver的环境变量的时候,可以直接将chromedriver.exe可执行文件拖拽到python的scripts目录下。下面看验证安装,在pycharm下

看到如上信息的时候说明chromedirver环境变量已经配置好了。

随后再在程序中测试,执行如下python代码:

from selenium import webdriver

browser = webdriver.Chrome()

运行之后,弹出一个空白的chrome浏览器,说明所有的配置都没有问题

4. GeckoDriver的安装

对于Firefox浏览器来说,可以使用同样的方式完成Selenium的对接,这时需要安装另外一个驱动GeckoDriver。

官网地址:

步骤类似前面的步骤,

from selenium import webdriver

browser = webdriver.Firefox()

5. aiohttp的安装

推荐使用pip安装:pip3 install aiohttp

另外官方还推荐如下两个库,一个是字符编码检测库cchardet,另一个是加速DNS的解析库aiodns,安装命令如下:pip3 install cchardet aiodns

解析库的安装1. lxml的安装

lxml是python的一个解析库,支持HTML和XML的解析,支持Xpath解析方式,解析效率非常高。安装方法:pip3 install lxml

2. Beautiful Soup的安装

Beautiful Soup是python的一个HTML或XML的解析库,可以用它来方便地从网页中提取数据。Beautiful Soup的HTML和XML解析器是依赖于lxml库,所以必须先确保成功安装lxml库。最新的版本是4.x,使用pip3 install beautifulsoup4安装

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

3. pyquery的安装

pyquery同样是一个强大的网页解析工具,它提供了和jQuery类似的语法来解析HTML文档,支持CSS选择器。安装命令:pip3 install pyquery

4. tesserocr的安装

在爬虫的过程中,难免会遇到各种验证码,而大多数验证码还是图形验证码,这时候我们可以直接用OCR来识别。OCR(optical character recognition):光学字符识别。是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。tesserocr是python的一个OCR识别库,但其实是对tesseract做的一层pythonAPI封装,所以它的核心是tesseract,因此在安装tesserocr之前,我们需要先安装tesseract。

下载地址:

进入到下载页面,可以看到各种.exe文件的下载列表,其中,文件名带有dev的为开发版本,不带dev的为稳定版本,可以选择不带dev的版本,这里选择版本为3.05.01,如下图所示:

安装步骤:

记得勾选Additional language data(download)选项来安装OCR识别支持的语言包,这样OCR可以识别多国语言。

接下来再安装tesserocr即可,命令:pip3 install tesserocr pillow

现在开始验证安装,可以使用tesseract和tesserocr来分别进行测试。

意外:使用上述命令安装tesserocr 失败:

下载:tesserocr-2.2.2-cp36-cp36m-win_amd64.whl

地址:

使用命令:pip install tesserocr-2.2.2-cp36-cp36m-win_amd64.whl 进行安装

如果遇到:RuntimeError: Failed to init API, possibly an invalid tessdata path:

请参考文章:

验证安装:(图片下载地址:)

路径:C:\Users\Leowen\Desktop\image.png

数据库的安装

数据库可以分为关系型数据库和非关系型数据库。本教程用到的关系型数据库有MySQL及非关系型数据库MongoDB、Redis。

1. MySQl的安装

在百度输入MySQL清华进入镜像源进行下载。

下载完后还要下载一个MySQL front

由于我已经有一个了,故名称为localhost(2)

2. MongoDB的安装

下载地址:

安装步骤参考word文档。

3. Redis的安装

下载地址:

可视化工具:redis desktop manager

下载地址:

存储库的安装1. PyMySQL的安装

使用命令:pip install pymysql

2. PyMongo的安装

使用命令:pip install pymongo

3. redis-py的安装

使用命令:pip install redis

4. RedisDump的安装

RedisDump是一个用于Redis数据导入/导出的工具,是基于Ruby实现的,所以要安装RedisDump,需要先安装Ruby。

安装完成之后在cmd命令行安装redis-dump,输入命令:gem install redis-dump

提示我安装MSYS2,输入命令ridk install 或者直接从 下载

最好最快的安装redis-dump方法:安装ruby带devkit,并且勾选msys2选项,然后用命令gem install redis-dump 安装redis-dump

Web库的安装1. Flask的安装

安装命令:pip install flask

验证安装

打开浏览器访问:可以观察到hello world

2. Tornado的安装

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

安装命令:pip install tornado

验证测试():

App爬取相关库的安装1. Charles的安装

参考连接:

Charles是一个网络抓包工具,相比Fiddler,其功能更加强大,而且跨平台支持更好。

Charles是收费软件,不过可以免费试用30天。如果试用期过了,其实还可以试用,不过每次试用不能超过30分钟,启动有10秒的延时,但是完整的软件功能还是可以使用的,所以还算比较友好。

证书配置:

现在很多页面都在向HTTPS方向发展,HTTPS通信协议应用得越来越广泛。如果一个App通信应用了HTTPS协议,那么它通信的数据都会是被加密的,常规的截包方法是无法识别请求内部的数据的。安装完成后,如果我们想要做HTTPS抓包的话,那么还需要配置一下相关SSL证书。

首先打开Charles,点击Help→SSL Proxying→Install Charles Root Certificate,即可进入证书的安装页面

点击安装证书,直接点击"下一步"按钮,此时需要选择证书的存储区域,点击第二个选项"将所有的证书放入下列存储",然后点击"浏览"按钮,从中选择证书存储位置为"受信任的根证书颁发机构",再点击"确定"按钮,然后点击"下一步"按钮。

2. mitmproxy的安装

参考地址:

mitmproxy是一个支持HTTP和HTTPS的抓包程序,类似Fiddler、Charles的功能,只不过它通过控制台的形式操作。

此外,mitmproxy还有两个关联组件,一个是mitmdump,它是mitmproxy的命令行接口,利用它可以对接Python脚本,实现监听后的处理;另一个是mitmweb,它是一个Web程序,通过它以清楚地观察到mitmproxy捕获的请求。

最简单的安装方式还是使用pip,直接执行如下命令即可安装:

安装命令:pip install mitmproxy

这是最简单和通用的安装方式,执行完毕之后即可完成mitmproxy的安装,另外还附带安装了mitmdump和mitmweb这两个组件。

证书配置:

对于mitmproxy来说,如果想要截获HTTPS请求,就需要设置证书。mitmproxy在安装后会提供一套CA证书,只要客户端信任了mitmproxy提供的证书,就可以通过mitmproxy获取HTTPS请求的具体内容,否则mitmproxy是无法解析HTTPS请求的。

首先,运行以下命令产生CA证书,并启动mitmdump:

接下来,我们就可以在用户目录下的.mitmproxy目录里面找到CA证书

Windows下安装证书,双击mitmproxy-ca.p12,就会出现导入证书的引导页,点击下一步,出现密码设置提示,

这里不需要设置密码,直接点击"下一步"按钮即可。接下来需要选择证书的存储区域。这里点击第二个选项"将所有的证书都放入下列存储",然后点击"浏览"按钮,选择证书存储位置为"受信任的根证书颁发机构",接着点击"确定"按钮,然后点击"下一步"按钮。

3. Appium的安装

首先,需要安装Appium。Appium负责驱动移动端来完成一系列操作,对于iOS设备来说,它使用苹果的UIAutomation来实现驱动;对于Android来说,它使用UIAutomator和Selendroid来实现驱动。

同时Appium也相当于一个服务器,我们可以向它发送一些操作指令,它会根据不同的指令对移动设备进行驱动,以完成不同的动作。

安装Appium有两种方式,一种是直接下载安装包Appium Desktop来安装,另一种是通过Node.js来安装,下面我们介绍一下第一种安装方式。

Appium Desktop支持全平台的安装,我们直接从GitHub的Releases里面安装即

可,链接为。

Windows平台可以下载exe安装包appium-desktop-Setup-1.6.2.exe,Mac平台可以下载dmg安装包如appium-desktop-1.6.2.dmg,Linux平台可以选择下载源码,但是更推荐用Node.js安装方式。

出现如下界面表示按章成功。

爬虫框架的安装

我们直接用Requests、Selenium等库写爬虫,如果爬取量不是太大,速度要求不高,是完全可以满足需求的。但是写多了会发现其内部许多代码和组件是可以复用的,如果我们把这些组件抽离出来,将各个功能模块化,就慢慢会形成一个框架雏形,久而久之,爬虫框架就诞生了。

利用框架,我们可以不用再去关心某些功能的具体实现,只需要关心爬取逻辑即可。有了它们,可以大大简化代码量,而且架构也会变得清晰,爬取效率也会高许多。所以,如果有一定的基础,上手框架是一种好的选择。

1. pyspider的安装补充:PhantomJS的安装

PhantomJS是一个无界面、可脚本编程的WebKit浏览器引擎,它原生支持多种Web标准:DOM操作,CSS选择器,JSON,Canvas以及SVG。

下载地址:

完成后,在bin目录下,包含一个可执行文件,我们需要将它直接放在配置好的环境变量路径下或者将它所在的路径配置到环境变量里,比如直接复制到python的scripts配置好的环境变量的路径下。

安装pyspider,使用命令:pip install pyspider

验证安装,在命令行验证,在浏览器中输入

2. scrapy的安装

我的python是通过Anaconda安装的,所以可以使用conda命令安装scrapy。输入命令:conda install Scrapy

可以直接在pycharm中输入命令进行安装

验证安装,在命令行输入scrapy,出现如下结果说明安装成功。

3. Scrapy-Splash的安装

参考地址:

Scrapy-Splash的安装分为两部分。一个是Splash服务的安装,具体是通过Docker,安装之后,会启动一个Splash服务,我们可以通过它的接口来实现JavaScript页面的加载。另外一个是Scrapy-Splash的Python库的安装,安装之后即可在Scrapy中使用Splash服务。

Scrapy-Splash会使用Splash的HTTP API进行页面渲染,所以我们需要安装Splash来提供渲染服务。这里通过Docker安装,在这之前请确保已经正确安装好了Docker。

安装命令:docker run -p 8050:8050 scrapinghub/splash

安装完成之后,会有类似的输出结果:

这样就证明Splash已经在8050端口上运行了。这时我们打开,即可看到Splash的主页

当然,Splash也可以直接安装在远程服务器上。我们在服务器上以守护态运行Splash即可,命令如下:docker run -d -p 8050:8050 scrapinghub/splash

这里多了-d参数,它代表将Docker容器以守护态运行,这样在中断远程服务器连接后,不会终止Splash服务的运行。

Scrapy-Splash的安装:

成功安装Splash之后,接下来再来安装其Python库,命令如下:

pip3 install scrapy-splash

4. Scrapy-Redis的安装

Scrapy-Redis是Scrapy的分布式扩展模块,有了它,我们就可以方便地实现Scrapy分布式爬虫的搭建。

安装命令:pip install scrapy-redis

验证安装:

觉得有用的欢迎关注加收藏转发哦!!

想要完整pdf的请私信:python网络爬虫环境部署

标签: #jquery图片扫描