一、安装BeautifulSoup
方法一:下载BS4源码,
然后通过setup.py来安装.
$ Python setup.py install
方法二 :通过pip安装
pip install beautifulsoup4
安装完成后可能出现的问题:
Beautiful Soup发布时打包成Python2版本的代码,在Python3环境下安装时,会自动转换成Python3的代码,如果没有一个安装的过程,那么代码就不会被转换.
如果代码抛出了 ImportError
的异常: “No module named HTMLParser”, 这是因为你在Python3版本中执行Python2版本的代码.
如果代码抛出了 ImportError
的异常: “No module named html.parser”, 这是因为你在Python2版本中执行Python3版本的代码.
如果遇到上述2种情况,最好的解决方法是重新安装BeautifulSoup4.
如果在ROOT_TAG_NAME = u’[document]’代码处遇到 SyntaxError
“Invalid syntax”错误,需要将把BS4的Python代码版本从Python2转换到Python3. 可以重新安装BS4:
$ Python3 setup.py install
或在bs4的目录中执行Python代码版本转换脚本
$ 2to3-3.2 -w bs4
二、运行BeautifulSoup
BeautifulSoup
库最常用的对象恰好就是
BeautifulSoup
对象。
from
urllib.request
import
urlopen
from
bs4
import
BeautifulSoup
html = urlopen("http://www.pythonscraping.com/pages/page1.html")
bsObj = BeautifulSoup(html.read())
print
(bsObj.h1)
输出结果是:
<h1>
An Interesting Title
</h1>
和前面例子一样,我们导入
urlopen
,然后调用
html.read()
获取网页的
HTML
内容。这
样就可以把
HTML
内容传到
BeautifulSoup
对象,转换成下面的结构:
• html
→
<html><head>...</head><body>...</body></html>
—
head
→