解析库的安装
抓取网页代码之后,就是从网页中提取信息。提取方式有多种多样,可以使用正则来提取,但写起来比较繁琐。但是有很多强大得解析库,如lxml、Beautiful Soup、pyquery等。此外,还提供了非常强大得解析方法,如XPath解析和CSS选择器解析等,可以利用它们高效便捷地从网页中提取有效信息。
lxml的安装
lxml是python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,解析效率高。
pip安装
命令如下:
pip3 install lxml
没有报错,则安装成功。如果出现报错,可以采用wheel方式安装。 (链接:http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml) 下载对应的wheel文件,找到本地安装python版本和系统对应的lxml版本,然后进入到lxml文件目录,利用pip进行安装:
pip3 install lxml-3.8.0-cp36-cp36m-win_ amd64.whl
安装验证
可以载python命令下验证:
$ pyhton
>>> import lxml
Beautiiful Soup的安装
Beautiful Soup是python的一个HTML或XML的解析库,利用它可以方便地从网页中提取数据,它拥有强大的API和多种多样的解析方式。
准备工作
Beautiful Soup的HTML和XML解析器是依赖lxml库的,请确保lxml库已经成功安装。
pip安装
命令:pip3 install beautifulsoup4
安装验证
可以用代码验证:
from bs4 import BeautifulSoup
soup = BeautifulSoup('
hello
', 'lxml')print(soup.p.string)
运行结果如下:hello
pyquery的安装
pyquery是一个强大的网页解析工具。它提供了和jQuery类似的语法来解析HTML文档,支持CSS选择器,使用非常方便。
pip安装
命令:pip3 install pyquery
安装验证
$ pyhon
>>> import pyquery
没有错误报出,则安装成功
tesserocr的安装
爬虫过程中,会遇到各种各样的验证码,而大多数验证码是图形验证码,我们需要OCR来识别。
OCR
OCR,即Optical Character Recognition,光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。对于图形验证码来说,它们都是=一些不规则的字符,这些字符有字符稍加扭曲变换得到的内容。
我们可以使用OCR技术将验证码转换为电子文本,然后爬虫将识别结果提交服务器,便可以达到自动识别验证码的过程。
tesserocr是python的一个OCR识别库。但其实对tesseract做的一层python API封装,所以它的核心是tesseract。所以在安装tesserocr之前需要先安装tesseract。
然后安装tesserocr即可,使用pip安装:pip3 install tesserocr pillow
安装验证
图片链接:
命令行测试,将图片下载并保存为image.png,使用tesseract命令测试:tesseract image.png result -l eng && cat result.txt
运行结果:
Tesseract Open Source OCR Engine v3.05.01 with Leptonica
Python3WebSpider
python代码测试:
import tesseroct
from PIL import image
image = lmage.open('image.png')
print(tesseroct.image_to_text(image))
运行结果: Python3WebSpider
还可以直接调用file_to_text()方法:
import tesserocr
print(tesserocr.file_to_text('image.png'))
运行结果: Python3WebSpider