beautifulsoup的基本使用总结

BeautifulSoup对象是一个复杂的树形结构,每一个节点都是一个python对象,获取网页内容就是一个提取对象内容的过程,提取对象的方法有三种。
1、遍历文档树
2、搜索文档树
3、CSS选择器

遍历文档树

例如获取,

标签 soup.header.h1
对于某个标签的所有子节点,可以用contents 把它的子节点以列表的方式输出
soup.header.div.contents
使用children方法获取所有子标签,返回i结果是生成器类型,要用for打印出
for child in soup.hearder.div.children:
print(child)
上述方法只能获取该节点下一级节点,如果要获得所有子子孙孙的节点,就要用.descendants方法。
for child in soup.header.div.descendants:
print(child)
使用.parent方法获取父节点的内容:
a_tag = soup.header.div.a
a_tag.parent
列如

## 搜索文档树 遍历文档书的方法其实用的比较少,最常用的是搜索文档树。在搜索文档树时,最常用的是find()和find_all(),它可以和re 正则结合起来使用 **例如:** for tag in soup.find_all(re.compile("^h"): priint(tag.name) ## CSS选择器 可以作为遍历文档树的方法提取数据,也可以作为搜索文档树的方法提取数据

例如
可以通过tag标签逐层查早
soup.select(“header h1”)
可以通过某个tag标签下的直接子标签遍历
soup.select(“header>h3”)
soup.select(“div>a”)
兄弟节点用“~”
css选择器也可以实现搜索文档树的功能
例如
要找所有链接以 http://www.baidu.com/开始的标签
soup.select(“a[href^=http://www.baidu.com/”])
注释
emumerate(soup.p.children)#可以同时获取索引和值
emumerate(list,1)可以指定索引和值

你可能感兴趣的:(数据挖掘)