Python
BeautifulSoup
首先,创建一个网络爬虫来抓取 http://www.pythonscraping.com/pages/warandpeace.htm这个网页并且生成BeautifulSoup对象。>>>from bs4 import BeautifulSoup>>>from urllib.request import urlopen>>>html = urlopen('http://www.pythonscraping.com/pages/warandpeace.html')>>>bsObj = BeautifulSoup(html.read())
通过 BeautifulSoup 对象,我们可以用 findAll 函数抽取只包含在 标签里的文字,这样就会得到一个人物名称的 Python 列表(findAll 是一个非常活的函数,我们后面会经常用到它):>>>nameList = bsObj.findAll('span',{'class':'green'})>>>for name in nameList:>>> print(name.get_text())
什么时候使用 get_text() 与什么时候应该保留标签?.get_text() 会把你正在处理的 HTML 文档中所有的标签都清除,然后返回一个只包含文字的字符串。 假如你正在处理一个包含许多超链接、段落和标签的大段源代码, 那么 .get_text() 会把这些超链接、段落和标签都清除掉,只剩下一串不带标签的文字。
用 BeautifulSoup 对象查找你想要的信息,比直接在 HTML 文本里查找信 息要简单得多。
通常在你准备打印、存储和操作数据时,应该最后才使 用 .get_text()。