一、将HTML源代码解析为DOM树
soup1 = BeautifulSoup(r.text, 'lxml') # ‘lxml’是解析器
二、找到要采集文本内容所在的标签对象
按属性查找:
soup.head
soup.title
按查找方法查找
soup.find(name='', attrs={})方法:返回符合条件的第一个标签对象
div = soup1.find(name='div',attrs={'id':'top_head_inner'}) # 返回查找到的第一个标签对象
soup.find_all(name='', attrs={})方法:返回符合条件的所有标签对象(列表形式)
div_all = soup1.find_all(name='div')
soup.select():
# 可以通过标签名,class值,id值,及其组合、子标签查找
div1 = soup1.select('div') # 按照标签名查找
# print(div1)
div_a = soup1.select('div>a') # 按照子标签查找
# print(div_a)
example = soup1.select('#top_head_right') # 按照id查找
# print(example)
example1 = soup1.select('div.inner') # 查找标题名为div,class为inner的内容
# print(example1)
example2 = soup2.select('div.inner>a') # 查找div中class=inner,子标签为a的内容
# print(example2)
根据所采集内容在标签对象中的位置采集数据
# 根据内容在标签对象中位置采集数据
# print(div.text) # div.text获取文本
# print(div.string) # 有子节点,返回none
# print(div.name) # div.name返回名字
# print(div_list[34].attrs) # div.attrs返回字典,包含所有属性及其值
# print(title.string) # 返回该标签所包围的文本(没有其他标签,返回其中内容)
# print(div.contents) # 列表,该标签对象包含的左右下一级子标签对象
# print(div.attrs['id']) # 返回属性值,常用于网址保存#