文章

Python3 网络爬虫入门准备工具(一)

请求库的安装

requests的安装: pip3 install requests

selenium的安装:同上

ChromeDriver安装:https://sites.google.com/a/chromium.org/chromedriver/  (需要梯子,需要与Google Chrome版本号兼容,确保电脑已安装Chrome浏览器)

下载好之后解压,拖入python的scripts文件夹下

验证:直接在cmd输入chromedriver

然后新建.py,测试如下代码

from selenium import webdriver
browser = webdriver.Chrome() #注意大小写

运行之后弹出一个空白的Chrome浏览器,如果没弹出,检查前面每一步

如果弹出闪退,检查ChromeDriver的版本号是否兼容

GeckoDriver(针对Firefox)的安装:https://github.com/mozilla/geckodriver/releases

下载好之后解压,拖入python的scripts文件夹下

测试安装:cmd下输入geckodriver(我的是输了没反应)

一下代码测试

然后新建.py,测试如下代码

from selenium import webdriver
browser = webdriver.Firefox() #注意大小写

运行之后弹出一个空白的火狐浏览器

这里有一个不方便的地方,因为程序运行的过程中会一直开着一个浏览器,而Chrome的新版已经支持无界面浏览,但是需要照顾到更多非新版本的用户

我们选择使用PhantomJS

Phantomjs浏览器是一个无界面的/可脚本编程的Webkit浏览器引擎,他原生支持多种Web标准:DOM操作,Css选择器,JSON,Canvas以及SVG

Selenium支持Phantomjs,这样的运行的时候就不会弹出一个浏览器了

Phantomjs安装:phantomjs.org/download.html

安装好后测试:cmd下输入phantomjs

新建.py文件

from selenium import webdriver
browser = webdriver.PhantomJS() #注意大小写

browser.get('https://baidu.com')

print(browser.current_url)

控制台会输出

https://www.baidu.com

如此一来,就完成了phantomjs的配置

aiohttp的安装:pip3 install aiohttp

aiohttp是一个异步Web服务的库(看不懂请买书,我不能把人家书里的东西都抄出来吧?侵权的)

解析库的安装

lxml的安装:pip3 install lxml

lxml是一个python的解析库,支持html,xml的解析,支持XPath的解析方式

Beautiful Soup的安装:pip3 install beautifulsoup4

beautiful soup是python的一个html或XML的解析库,他拥有强大的API和多种解析方式

beautiful soup的HTML和XML解析器是依赖于lxml库的,所以在此之前必须确定自己安装了lxml库

验证安装:

#coding:gbk
from bs4 import BeautifulSoup#注意大小写
soup = BeautifulSoup('<p>Hello</p>','lxml')#注意大小写
print(soup.p.string)

如果输出为Hello,就没问题

pyquery的安装:pip3 install pyquery

验证安装:

在python命令行里输入import pyquery

没有报错则安装成功

pyquery同样是一个强大的网页解析工具,他提供了和jQuery类似的语法来解析HTML文档支持CSS选择器

tesserocr的安装(是python的一个OCR识别库):

由于tesserocr是Python的一个OCR识别库,主要识别验证码,但其实是对tesseract做的一层Python API封装,所以它的核心是tesseract

所以我们在安装tesserocr之前,需要安装tesseract

tesseract:https://digi.bib.uni-mannheim.de/tesseract/

嫌麻烦直接在cmd下:pip3 install tesseract

文件中带有dev的为开发版本,不带dev的为稳定版本

此时勾选Additional language data选项来安装OCR识别支持的语言包,语言包安装非常缓慢我已经安装了3小时了...

接下来再:

安装tesserocr即可:pip3 install tesserocr pillow

tesserocr安装总是出错或匹配不上,所以直接去github下载:https://github.com/simonflueckiger/tesserocr-windows_build/releases(查看自己的python版本 匹配对应文件)

下载完成后使用pip安装 pip install "c:\xxxxxxx.whl"

当然,在安装whl文件之前,你先得 pip install wheel

别放C盘

如果安装后提示需要升级pip,按照提示输入

python -m pip install --upgrade pip

注意:tesserocr安装很容易出错,相关错误请查阅 注意,安装好之后需要设置环境变量

https://blog.csdn.net/wuqili_1025/article/details/79660206


验证安装:cmd下输入 tesseract -v    再输入 tesseract --list-langs检查语言包

PIL安装:如果你是使用whl文件安装的ocr,别忘记 pip3 install pillow

tesseract语言包的安装每次都让我眼泪都要掉下来,所以扒了一下tesseract语言包单独下载地址

https://github.com/tesseract-ocr/tessdata


由于Tesseract-OCR有不同版本,需要的语言包的版本也不一样,可以到这里下载对应的版本https://github.com/tesseract-ocr/tesseract/wiki/Data-Files#data-files-for-version-302

tesserocr 的测试代码及测试图:

import tesserocr
from PIL import Image
image = Image.open('image.png')
print(tesserocr.image_to_text(image))

https://raw.githubusercontent.com/python3webspider/testtess/master/image.png

安装MYSQL

MYSQL是一个轻量级的关系型数据库

官方网站:https://www.mysql.com/cn

下载地址:https://www.mysql.com/cn/downloads

对于windows用户来说,直接从百度软件中心搜索下载的话,速度是很快的


看了一下,数据库的安装至少有3种,我这里就暂时保留略过了,以后再更新本文 

我们接着继续安装其他的东西...



Flask的安装

flask是一个轻量级的web服务程序,他简单,易用,灵活.我们这里主要用来做一些API服务

pip3 install flask


在新建.py文件输入以下代码以验证安装

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
return "Hello world!"

if __name__=="__main__":
app.run()


新版本有一行英文提示,不要在生产环境中使用开发服务器

但是依然会打开服务 告知你已经开启  访问浏览器输入网址 127.0.0.1:5000

如果能打开,则证明本地web服务已经开启.



Tornado的安装

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

pip3 install tornado


APP爬取相关库的安装

除了web网页,爬虫也可以抓取APP的数据,APP中的页面要加载出来,首先需要获取数据,而这些数据一般是通过请求服务器的接口来获取的.由于APP没有浏览器的这种可以比较直观地看到后台请求的工具,所以主要用一些抓包技术来抓取数据.


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

官方网站:https://www.charlesproxy.com

下载链接:https://www.charlesproxy.com/download

charles是收费软件,不过可以免费试用30天,如果试用期过了,还可以再试用,不过每次试用不能超出30分钟.启动有10秒延迟

但是完整的软件功能都能使用,所以还算比较友好的.

证书配置:

现在很多页面都在向https方向发展,https通信协议也越来越广,如果一个app使用了https协议,那么它的通信数据都是会被加密的.

常规的截包方法无法识别请求内部的数据.

那么我们就需要配置相关的SSL证书.

在windows下 charles的证书安装步骤是:

help--SSL Proxying---Install Charles Root Certificate

由于我是windows系统,其他的系统请自行研究





Appium

Appium是移动端的自动化测试工具,类似于前面说的Selenium,利用它可以驱动安卓/IOS等设备来完成自动化测试,比如模拟点击,滑动,输入等操作.

官网地址:http://appium.io

下载链接:http://github.com/appium/appium-desktop/releases

也可以下载NODE.JS后在使用NPM命令安装


安卓开发环境配置

android设备抓取APP的话,需要下载和配置android SDK

下载地址:https://developer.android.com/studio/?hl=zh-cn

下载后直接安装即可.


太长了感觉,其他的内容另外写一篇吧!

原文来自:Python3 网络爬虫入门准备工具(一),尊重自己,尊重每一个人;转发请注明来源!
1 0

发表评论