PoEdu培训 Python班 第十一课 Python 实战(1) 爬虫的理论
文章类别: 培训笔记 0 评论

PoEdu培训 Python班 第十一课 Python 实战(1) 爬虫的理论

文章类别: 培训笔记 0 评论

Python 实战(1) 爬虫的理论

本文的Python知识基于 Python3

bs4库

我们安装 bs4 第三方库
注意, 安装Python包需要管理员权限

命令行安装:
pip install bs4
官方文档:
https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html

解析器

bs4可以使用很多解析器, 如下:

<colgroup> <col width="22%"> <col width="26%"> <col width="26%"> <col width="26%"> </colgroup>
解析器 使用方法 优势 劣势
Python标准库 <tt class="docutils literal"><span class="pre">BeautifulSoup(markup,</span> <span class="pre">"html.parser")</span></tt> <ul class="first last simple"> <li>Python的内置标准库</li> <li>执行速度适中</li> <li>文档容错能力强</li> </ul> <ul class="first last simple"> <li>Python 2.7.3 or 3.2.2)前 的版本中文档容错能力差</li> </ul>
lxml HTML 解析器 <tt class="docutils literal"><span class="pre">BeautifulSoup(markup,</span> <span class="pre">"lxml")</span></tt> <ul class="first last simple"> <li>速度快</li> <li>文档容错能力强</li> </ul> <ul class="first last simple"> <li>需要安装C语言库</li> </ul>
lxml XML 解析器 <p class="first"><tt class="docutils literal"><span class="pre">BeautifulSoup(markup,</span> <span class="pre">["lxml",</span> <span class="pre">"xml"])</span></tt></p> <p class="last"><tt class="docutils literal"><span class="pre">BeautifulSoup(markup,</span> <span class="pre">"xml")</span></tt></p> <ul class="first last simple"> <li>速度快</li> <li>唯一支持XML的解析器</li> </ul> <ul class="first last simple"> <li>需要安装C语言库</li> </ul>
html5lib <tt class="docutils literal"><span class="pre">BeautifulSoup(markup,</span> <span class="pre">"html5lib")</span></tt> <ul class="first last simple"> <li>最好的容错性</li> <li>以浏览器的方式解析文档</li> <li>生成HTML5格式的文档</li> </ul> <ul class="first last simple"> <li>速度慢</li> <li>不依赖外部扩展</li> </ul>

requests库

初步使用

>>> import requests
>>> from bs4 import BeautifulSoup
>>> response = requests.get('http://www.hxhlb.org')
>>> response.encoding = 'utf-8'
>>> soup = BeautifulSoup(response.text, 'html.parser')
>>> print(soup.title)
<title>花心胡萝卜工作室门户网站</title>
>>> 

未完待续...

如有错误,请提出指正!谢谢.

回复