
爬虫笔记:BeautifulSoup详解 part 1
BeautifulSoup
Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。
Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。
Beautiful Soup已成为和lxml、html6lib一样出色的python解释器,为用户灵活地提供不同的解析策略或强劲的速度。
用法详解:
基本使用:
prettify美化。前面给的html不全,有的不完整,只有头标签,soup.prettify()补全代码。soup.title.string 打印内容
标签选择器
选择元素:
代码里p标签比较特殊,有多个,结果只输出了第一个p标签。意味着这种选择方式只会返回一个(第一个)
获取标签名称:
结果把标签名字输出来啦
获取标签属性:
获取p标签name属性值
获取标签里的内容:
获取p标签内容,该方法只能获取第一个p标签内容
标签嵌套选择:
子节点和子孙节点:
print(soup.p.contents)contents#获取标签的子孙节点及其内容。结果是列表形式
print(soup.p.children) children获取标签的子节点。返回结果是一个迭代器
descendants#返回子孙节点(不仅仅是子节点,返回结果为迭代器)
父节点和祖先节点:
soup.a.parent 返回的是第一个a标签的父节点
soup.a.parents 返回的是父节点以及祖先节点
兄弟节点:
sibling 翻译兄弟姐妹:
