当我们抓取网页代码后,下一步就从网页中提取信息,提取信息的方式有多种多样,可以使用正则来提取,但很繁琐。所以我们要用强大的解析库来操作:如lxml,Beautiful Soup,pyquery等;还有非常强大的解析方法:如XPath和CSS选择器解析等。有了他们,我们就可以高效从网页中提取有效信息。
1. lxml简介和安装
lxml是python的一个解析库,支持html和xml的解析库,支持XPath解析方式,解析效率非常高。
1 windows下简单粗暴安装方法:pip install lxml,如果pip有问题,可以用wheel方式安装,网上搜一个对应版本的lxml-xxx.whl包, 然后用 pip install lxml-xxx.whl;
2. Beautiful Soup简介和安装
Beautiful Soup是python的一个解析库,支持html和xml的解析库,可以用它方便地从网页中提取数据,它拥有强大的API和多样的解析方式,
安装方式:pip install beautifulsoup4 或者使用wheel方式安装
3. pyquery简介和安装
pyquery同样是一个强大的网页解析工具,它提供了和jQuery类似的语法来解析HTML文档,支持CSS选择器,使用非常方便。
安装方式:pip install pyquery 或者 使用wheel方式安装
4. tesserocr简介和安装
在爬取过程中,难免会遇到各种各样的验证码,而大多数验证码还是图形验证码,这时可以用OCR识别(OCR:Optical Character Recognition,光学字符识别,通过扫描字符,将形状翻译成电子文本的过程)
tesserocr是python的一个OCR识别库,但其实是tessract做的一层Python API封装,所以它的核心是tesseract,因此,安装tesserocr之前,要安装tesseract。
windows下的安装,先下载tesseract,它提供了tesserocr的支持;
下载之后是一个.exe文件直接安装就好;安装时可以勾选Additional language data(download)选项来安装OCR识别支持的语言包。
安装完成后,在安装tersserocr,
安装命令:pip install tesserocr pillow
在安装tesserocr时报错了,没办法只能自己找个wheel文件下载了。安装成功,下载成功的.whl文件,这样安装:pip install E:\tesserocr-2.4.0-cp37-cp37m-win_amd64.whl 然后在安装pip install pillow
安装完后测试一下:识别一下这个地址的图片上得东西:https://raw.githubusercontent.com/Python3WebSpider/TestTess/master/image.png
将图片下载到本地:
然后使用命令:
打开result.txt看看识别的情况
我们在用tesserocr试一试:
在python环境下