HTML通过预定义的<>…</>标签行驶组织不同类型的信息
信息标记的三种形式:
1.XML:(eXtensible Markup Language)扩展标记语言
2. JSON(JavaScript Object Notation)
有类型键值对
3.YAML
无类型键值对
3种信息标记形式的比较
BeautifulSoup的find_all()方法
find_all(name, attrs, recursive, string, )
可以省略find_all
1 find_all(name)
soup.find_all([‘a’, ‘b’]):a,b标签
soup.find_all(True):所有标签
正则表达式:含有a的标签
import re
for tag in soup.find_all(re.compile('b')):
print(tag.name)
>>> 'body'
>>> 'b'
for tag in soup.find_all(re.compile('a')):
print(tag.name)
>>> 'head'
>>> 'a'
2 find_all(attrs)
attrs需精确,否则使用正则表达式
正则表达式相当于搜索词
3 recursive=True:搜索所有子孙节点;=False:搜索到儿子节点
4 string
import re
soup.find_all(string = re.compile("Python"))
扩展方法