写一个爬虫,如果知识不分好坏,全部都爬取下来,其混乱程度,你会发现还不如自己一个个的在网上百度方便。因此,良好的解析网页才是判定一个爬虫好坏的重要标准。在这里,我将为你介绍一个功能强大的网页信息解析库----BeautifulSoup
BeautifulSoup库是一个专注于解析网页信息的强大的第三方库,他提供了很多功能,让你可以根据网页中的标签,属性或者内容进行精确的查找
下面,我先通过一个要点图系统的介绍一下BeautifulSoup的功能
BeautifulSoup库要点图:
1.四大对象种类:
a)Tag
i.Name
ii.Attrs
b)NavigableString
c)BeautifulSoup
d)Comment
2.遍历文档数
a)直接子节点:
i..contents-----返回的是列表
1.获取方法:列表索引
ii..children-----返回的是list生成器对象
1.获取方法:遍历
·for tag in soup.tbody.children:
Print(tag)
b) 所有子孙节点:.descendants
c) 直接父节点:.parent
d) 所有父节点:.parents
e) 兄弟节点:.next_sibling.previous_sibling
f) 全部兄弟节点:.next_siblings.previous_siblings
g) 前后节点:.next_element.previous_element
h) 所有前后节点:.next_elements.previous_elements
3.搜索文档数
a)Find_all(name, attrs, recursive, text, **kwargs) --- 返回的是一个结果集列表
b)Find(name, attrs, recursive, text, **kwargs)-------返回的是第一个匹配的结果
c)Find_parent() 和 find_parents()
d)Find_next_siblings() 和 find_next_sibling()
e)Find_previous_siblings() 和 find_previous_sibling()
f)Find_all_next() 和 find_next()
g)Find_all_previous 和 find_previous()
4.Bs4中的css 选择器使用方法:
标签名--不加任何修饰
类名-----前面加点
Id --------前面加#
格式:soup.select()------返回类型是list