python爬虫日志(7)BeautifulSoup

BeautifulSoup解析网页其实是将网页个标签及内容存放在一个树结构中,每一个标签是一个结点,字符串自身是一个结点没有子节点,标签的属性会是它的子节点。soup.prettify()能够将网页代码以一种更优美的结构展示出来。html

经常使用到须要掌握的内容有以下这些:python

soup.title#获取名为title的标签的内容
soup.tag.name #获取标签的名字
soup.tag.string #获取标签的文本内容
soup.tag #直接访问标签内容
soup.tag.['attribute'] #获取标签的属性 如class,id等等
soup.find('a') #找到第一个符合条件的内容
soup.find_all('a','link3')  #找到全部符合条件的内容,能够找标签,也能够加上属性来筛选,也能够只写属性,不写标签,如soup.find(id='link3')
soup.get_text()  #用于获取全部文字内容
tag.attrs #获取标签的属性,有的标签有多值属性
tag.string.replace_with('') #能够将字符串内容用参数替换
tag.contents #能够将子节点以列表的方式输出
tag.children #能够对子节点进行循环 for child in tag.children: print(child)
#.contents和.children属性仅包含tag的直接子节点,.descendants则能够对tag全部子孙结点进行递归循环
#.strings若是tag中有多个字符串,能够用.strings来循环获取
#.stripped_strings能够将字符串的首尾字符串中间的空符去掉
#.parent能够获取父节点
#.next_sibling和.previous_sibling能够获取元素的下一个或前一个兄弟结点
#Tag,NavigableString,BeautifulSoup,comment html和xml中的四大类

更多详细内容可查询beautifulsoup文档https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/ ,http://beautifulsoup.readthedocs.io/zh_CN/latest/,分别为4.2和4.4的文档code

相关文章
相关标签/搜索