本文共 838 字,大约阅读时间需要 2 分钟。
BeautifulSoup 里的 find() 和 findAll() 可能是你最常用的两个函数。借助它们,你可以通过标签的不同属性轻松地过滤 HTML 页面。
from urllib.request import urlopenfrom bs4 import BeautifulSouphtml=urlopen("http://www.pythonscraping.com/pages/warandpeace.html")bsObj=BeautifulSoup(html)nameList=bsObj.findAll("span",{ "class":'green'})for name in nameList: print(name.get_text())
函数定义:
findAll(tag, attributes, recursive, text, limit, keywords)find(tag, attributes, recursive, text, keywords)
BeautifulSoup的四种常用对象:
• BeautifulSoup 对象
前面代码示例中的 bsObj• 标签 Tag 对象
BeautifulSoup 对象通过 find 和 findAll ,或者直接调用子标签获取的一列对象或单个对象,就像: bsObj.div.h1但是,这个库还有另外两种对象,虽然不常用,却应该了解一下。
• NavigableString 对象
用来表示标签里的文字,不是标签(有些函数可以操作和生成 NavigableString 对象,而不是标签对象)。• Comment 对象
用来查找 HTML 文档的注释标签,findAll 函数通过标签的名称和属性来查找标签 。但是如果你需要通过标签在文档中的位置来查找标签,该怎么办?这就是导航树(Navigating Trees)的作用。
转载地址:http://oqyjn.baihongyu.com/