Beautiful Soup的基本用法
soup = BeautifulSoup(html, 'lxml')
print (soup.prettify())
print(soup.title.string)
简单解析:通过传入html字符串生成一个Beautiful对象,调用prettify可以输出并格式化,使其对其,但要注意,自动更正格式在对象初始化时就已经完成。调用soup.title.string就是输出HTML中title结点的文本内容。
结点选择器
直接调用结点的名称就可以选择结点元素,再调用string属性就可以得到结点的内容,如果结构非常清晰的话,可以选用这种方式 ,不仅可以用string来获取文本的值,还可以通过属性名称来获取属性的值,首先要获取名称,我们可以通过调用结点的name属性来获取属性名称,再根据属性名称来获取属性的值,获取属性时,每个结点可能又多个结点元素调用attrs来获取所有属性,也可以进行嵌套选择,比如获取head结点时,我们还可以继续获取head内部中的结点元素。
关联选择,当我们选择元素时并不能选到想要的结点元素,先选中一个元素,然后再以它的基准再选择它的子节点,父节点,兄弟结点,比如我们在获取p结点的所有直接子节点时,可以调用contents属性,返回结果是列表形式,p结点即包含文本,又包含结点,最后将他们以列表形式统一返回。
方法选择器
findall(),查询所有符合条件的元素,给他传入一些属性或文本,可以得到符合条件的元素
用法find_all(name,attrs,recursive,text,**kwags)
find()返回第一个元素,而不是一个列表。