beautifulsoup部分笔记(随时可能有更新)

beautifulsoup4使用

从文档中获取为文字内容  soup.get_text()

获取文档树  soup.tag名   取点只能获取第一个tag

.contents将tag子节点以列表形式输出

.child对tag的子节点进行循环

.descendants对所有子孙节点进行递归循环


如果tag中包含多个子串,用.strings进行循环   .stripped_strings可以移除多余空白内容


.parents递归得到所有父辈节点
.next_sibling 查询兄弟节点  同级节点中第一个      对当前节点的兄弟节点进行迭代输出
.previous_sibling 同级节点中后一个


正则表达式


find_all()搜索当前tag的所有子节点,并判断是否符合过滤器的条件

keyword参数
find_all()方法的attrs参数定义一个字典参数搜索包含特殊属性的tag


css搜索
tag的 class 属性是 多值属性 .按照CSS类名搜索tag时,可以分别搜索tag中的每个CSS类名:

css_soup = BeautifulSoup('<p class="body strikeout"></p>')
css_soup.find_all("p", class_="strikeout")
# [<p class="body strikeout"></p>]

css_soup.find_all("p", class_="body")
# [<p class="body strikeout"></p>]



string参数
与其他参数混合使用找到与string值相符的tag
soup.find_all("a", string="Elsie")
# [<a href="http://example.com/elsie" class="sister" id="link1">Elsie</a>]


tag调用find_all时,如果只想搜索直接子节点可使用参数recursive=False

soup.html.find_all("title", recursive=False)
# []

find_previous_siblings() 方法返回所有符合条件的前面的兄弟节点,
find_previous_sibling() 方法返回第一个符合条件的前面的兄弟节点:


找到某个tag标签下的直接子标签  :

soup.select("head > title")
# [<title>The Dormouse's story</title>]

tag.append 向tag中添加内容
insert_before()方法在当前tag文本节点前插入内容
insert_after()在当前tag后插入内容



输出

prettify()将文档格式化后以Unicode编码输出
str() 方法返回UTF-8编码的字符串
get_text()得到tag中所有文本内容包括子孙tag中
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值