请求库的安装
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
下载后直接安装即可.
太长了感觉,其他的内容另外写一篇吧!
1 条评论
[…] Python3 网络爬虫入门准备工具(一) […]