Python3 爬虫(七) -- 配置BeautifulSoup4+lxml+html5lib

原创 2016年06月01日 10:08:07

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间。
Beautiful Soup支持Python标准库中的HTML解析器,还支持一些第三方的解析器,其中一个是 lxml 。
另一个可供选择的解析器是纯Python实现的 html5lib , html5lib的解析方式与浏览器相同。

Windows平台 + Python3.5


安装BeautifulSoup4

方法一:打开cmd,运行pip install BeautifulSoup4

如上图所示,由于我已经安装过了。可以使用 --upgrade来升级为最新版本。

方法二:去官网BeautifulSoup4源码下载 -- 戳我吧!下载源码,编译运行。



至此,便安装完毕。
验证成功,编译一个.py文件,输入from bs4 import BeautifulSoup4,不会报错即代表安装成功。

安装html5lib

第二步,我们安装网页文件解析器htm5lib,只需直接运行pip install html5lib即可:


安装lxml

在Windows下,安装lxml费了一点劲儿,不能直接通过命令成功安装。我们需要去官方网站下载与平台完全一致的版本,手动安装。
首先,查看我们的平台依赖的工具版本:


然后,去官网下载对应的.whl文件。lxml 官方下载链接,请猛戳我~~~
Ctrl + F,输入lxml,找到下面这段:
Lxml, a binding for the libxml2 and libxslt libraries.
lxml‑3.4.4‑cp27‑none‑win32.whl
lxml‑3.4.4‑cp27‑none‑win_amd64.whl
lxml‑3.4.4‑cp33‑none‑win32.whl
lxml‑3.4.4‑cp33‑none‑win_amd64.whl
lxml‑3.4.4‑cp34‑none‑win32.whl
lxml‑3.4.4‑cp34‑none‑win_amd64.whl
lxml‑3.4.4‑cp35‑none‑win32.whl
lxml‑3.4.4‑cp35‑none‑win_amd64.whl
cp后面是Python的版本号,27表示2.7,根据你的Python版本选择下载。

最后进行安装,打开cmd,先运行pip install wheel安装wheel工具,做好准备工作。
接着运行pip install *.whl文件,我的对应版本为lxml-3.6.0-cp35-cp35m-win_amd64.whl即可成功安装lxml解析器。


至此,三个工具都安装完毕。
对于Linux平台下,安装就很简单了,直接利用三个命令即可完成:
  • pip install BeautifulSoup4 或 easy_install BeautifulSoup4
  • pip install html5lib
  • pip install lxml

使用BeautifulSoup

我们编辑一段html文档,利用BeautifulSoup库进行解析:
html = """
<html><head><title>The Dormouse's story</title></head>
<body>
<p class="title"><b>The Dormouse's story</b></p>

<p class="story">Once upon a time there were three little sisters; and their names were
<a href="http://example.com/elsie" class="sister" id="link1">Elsie</a>,
<a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> and
<a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>;
and they lived at the bottom of a well.</p>

<p class="story">...</p>
"""

from bs4 import BeautifulSoup

#添加一个解析器
soup = BeautifulSoup(html,'html5lib')
print(soup.title)
print(soup.title.name)
print(soup.title.text)
print(soup.body)

#从文档中找到所有<a>标签的内容
for link in soup.find_all('a'):
    print(link.get('href'))


#从文档中找到所有文字内容
print(soup.get_text())
注意:
在声明BeautifulSoup对象的时候要明确解析器 soup = BeautifulSoup(html,'html5lib'),否则写为 soup = BeautifulSoup(html) 会有警告。



运行上述代码:

我们发现,BeautifulSoup可以十分方便的提取Html的结构化数据。这就为我们解析网页文件内容,爬取目标元素提供了极大的帮助。

这只是一个小小的例子,BeautifulSoup库的功能十分强大,赶紧去官方文档学习吧~
BeautifulSoup4官方文档在这里~~~
版权声明:本文为博主原创文章,未经博主允许不得转载。

如何使用Python模块 html5lib

打开 IDLE,将会显示一个空白的界面. 在顶行输入以下代码以导入 "html5lib" 模块: import html5lib from html5lib import treebuild...
  • wuwuwuwuwuwuwuwu
  • wuwuwuwuwuwuwuwu
  • 2012年11月01日 11:26
  • 4580

html5lib-0.9999999

  • 2017年09月06日 16:01
  • 868KB
  • 下载

全套:python3.6安装步骤+beautifulsoup4-4.5.1安装+lxml+html5lib+requests安装

一、python3.6安装步骤 1.首先我们移步官网,下载最新版本的python-3.6.0。 在DownLoad下拉框中点击Windows,选择要下载的文件: windows32位系统请选择...
  • sinat_32332805
  • sinat_32332805
  • 2016年12月01日 15:10
  • 21474

html5lib-python doc

http://html5lib.readthedocs.org/en/latest/
  • llrraa2010
  • llrraa2010
  • 2014年06月11日 07:14
  • 1932

浅析Beautiful Soup库和Lxml库

众所周知,Beautiful Sou和Lxml是两个非常流行的python模块,他们常被用来对抓取到的网页进行解析,以便进一步抓取的进行。作为一个爬虫爱好者,今天我来简单讲讲这两个库各自的优点和不足,...
  • wgxshr
  • wgxshr
  • 2017年05月11日 19:01
  • 1633

Python爬虫包 BeautifulSoup 学习(十) 各种html解析器的比较及使用

BeautifulSoup号称Python中最受欢迎的HTML解析库之一,但是这并不是唯一的选择。解析库lxml这个库可以用来解析HTML和XML文档,以非常底层的实现而闻名,大部分源码都是C语言写的...
  • u013007900
  • u013007900
  • 2017年01月24日 10:59
  • 2048

python3.6安装+beautifulsoup4-4.5.1安装+lxml+html5lib+requests安装

一、python3.6安装步骤 1.首先我们移步官网,下载最新版本的python-3.6.0。点我,我把你传送到python官网 在DownLoad下拉框中点击Windows,选择要下载的...
  • qq_36125733
  • qq_36125733
  • 2017年02月26日 18:21
  • 423

安装html5lib-0.95时出现的问题

Problem: Traceback (most recent call last): File “setup.py”, line 1, in  from setuptools impo...
  • wuwuwuwuwuwuwuwu
  • wuwuwuwuwuwuwuwu
  • 2012年05月03日 17:29
  • 1539

解决bs4在Python 3.6下出现“ImportError: cannot import name 'HTMLParseError'”错误

mac系统下,通过python setup.py install安装bs4后,发现在python2中 from bs4 import BeautifulSoup,可以正常运行,而在python3中,执...
  • u010358168
  • u010358168
  • 2017年03月14日 11:56
  • 4148

Python 3 安装 BeautifulSoup

来到这个网站: https://www.crummy.com/software/BeautifulSoup/ 这里有最新的 BeautifulSoup 版本,一般越新,对于python3 ...
  • SoDaoo
  • SoDaoo
  • 2017年04月14日 20:42
  • 2033
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python3 爬虫(七) -- 配置BeautifulSoup4+lxml+html5lib
举报原因:
原因补充:

(最多只允许输入30个字)