欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

爬虫学习

程序员文章站 2022-03-02 19:32:13
...

对象的种类

      Beautiful Soup将复杂HTML文档转换成一个复杂的树形结构,每个节点都是Python对象,所有对象: Tag , NavigableString , BeautifulSoup , Comment 。

print(soup.prettify())#自动更正格式,使输出更美观

Tag:name,attrs

contents 属性只返回直接子节点

descendants 属性可以获取当前节点所有的子孙节点

for i,child in enumerate(soup.ul.descendants):
    print(i,child)

父节点:** 使用`parent` 属性可以获取当前节点的父节点。 

parents 属性可以获取当前节点的祖先节点

for i,parent in enumerate(soup.ul.parents):
    print(i,parent)

find_all( name , attrs , recursive , text , **kwargs ) 

find( name , attrs , recursive , text , **kwargs )

1.find_all()与find区别

find_all() 方法的返回结果是值包含一个元素的列表,而 find() 方法直接返回结果.find_all() 方法没有找到目标是返回空列表, find() 方法找不到目标时,返回 None .

find_parents()和find_parent():前者返回所有祖先节点,后者返回直接父节点。
find_next_siblings()和find_next_sibling():前者返回后面所有的兄弟节点,后者返回后面第一个兄弟节点。
find_previous_siblings和find_previous_siblling():前者返回前面所有的兄弟节点,后者返回前面第一个兄弟节点。
find_all_next()和find_next():前者返回节点后所有符合条件的节点,后者返回节点后第一个符合条件的节点。
find_all_previous()和find_previous():前者返回节点前所有符合条件的节点,后者返回节点前第一个符合条件的节点。

 

2.获取文本内容

可以调用string和get_next()方法获取文本内容。

 

 

相关标签: 爬虫学习笔记