python爬虫笔记——解析库的安装
## 解析库的安装抓取网页代码之后,就是从网页中提取信息。提取方式有多种多样,可以使用正则来提取,但写起来比较繁琐。但是有很多强大得解析库,如lxml、Beautiful Soup、pyquery等。此外,还提供了非常强大得解析方法,如XPath解析和CSS选择器解析等,可以利用它们高效便捷地从网页中提取有效信息。
1. 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
```
2. Beautiiful Soup的安装
Beautiful Soup是python的一个HTML或XML的解析库,利用它可以方便地从网页中提取数据,它拥有强大的API和多种多样的解析方式。
* 准备工作
Beautiful Soup的HTML和XML解析器是依赖lxml库的,请确保lxml库已经成功安装。
* pip安装
命令:pip3 install beautifulsoup4
* 安装验证
可以用代码验证:
```python
from bs4 import BeautifulSoup
soup = BeautifulSoup('<p>hello</p>', 'lxml')
print(soup.p.string)
```
运行结果如下:hello
3. pyquery的安装
pyquery是一个强大的网页解析工具。它提供了和jQuery类似的语法来解析HTML文档,支持CSS选择器,使用非常方便。
* pip安装
命令:pip3 install pyquery
* 安装验证
```
$ pyhon
>>> import pyquery
```
没有错误报出,则安装成功
4. tesserocr的安装
爬虫过程中,会遇到各种各样的验证码,而大多数验证码是图形验证码,我们需要OCR来识别。
* OCR
OCR,即Optical Character Recognition,光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。对于图形验证码来说,它们都是=一些不规则的字符,这些字符有字符稍加扭曲变换得到的内容。
我们可以使用OCR技术将验证码转换为电子文本,然后爬虫将识别结果提交服务器,便可以达到自动识别验证码的过程。
tesserocr是python的一个OCR识别库。但其实对tesseract做的一层python API封装,所以它的核心是tesseract。所以在安装tesserocr之前需要先安装tesseract。
* 链接
tesserocr Github: https://github.com/sirfz/tesserocr
tesserocr PyPl: https://pypi.python.org.pypi/tesserocr
tesseract下载地址:http://digi.bib.uni-mannheim.de/tesseract
tesseract Github: https://github.com/tesseract-ocr/tesseract
tesseract文档:https://github.com/tesseract-ocr/tesseract/wike/Documentation
* windows安装
在Windows安装时,需要下载tesseract,它为tesserocr提供了支持。下载双击,可以勾选Additional Language data(download)选项来安装OCR识别支持的语言包,然后一路点击Next按钮即可。
安装方法:
* https://blog.csdn.net/qq_41895190/article/details/82696550
*https://blog.csdn.net/zoujin6649/article/details/82697031
* https://www.cnblogs.com/Jimc/p/9772930.html
然后安装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代码测试:
```python
import tesseroct
from PIL import image
image = lmage.open('image.png')
print(tesseroct.image_to_text(image))
```
运行结果: Python3WebSpider
还可以直接调用file_to_text()方法:
```python
import tesserocr
print(tesserocr.file_to_text('image.png'))
```
运行结果:Python3WebSpider 欢迎大家评论{:1_893:} {:301_1001:}我觉得正则匹配还行 ocr还是用api吧,这个库识别率好像不太行,百度的也都免费,识别率也高 谢谢楼主分享,解决了库的问题 跟随一起学习,收藏了,明天过来送热心,今天的热心没有了... 感谢,感觉这个好难,比c难学
页:
[1]