python beautifulsoup

Beautiful Soup类的基本元素

在这里插入图片描述
例子

from bs4 import BeautifulSoup
r = requests.get('https://python123.io/ws/demo.html')
demo = r.text
soup = BeautifulSoup(demo,'html.parser')  #'html.parser'是解析器
print(soup.prettify())

结果
在这里插入图片描述
Beautiful Soup库的理解
在这里插入图片描述

基于bs4库的HTML内容遍历方法

下行遍历

from bs4 import BeautifulSoup
r = requests.get('https://python123.io/ws/demo.html')
demo = r.text
demo
soup = BeautifulSoup(demo,'html.parser')
soup.head   #head标签,任何html可以分为head、body标签
soup.head.contents   #head的儿子节点
soup.body.contents   #body的儿子节点
len(soup.body.contents)  #body标签的儿子节点数量
soup.body.contents[1]  #body标签的第二个儿子节点

for child in soup.body.children:  #遍历儿子节点
    #print(child)
    
    
for child in soup.body.descendants:  #遍历子孙节点
    print(child)

上行遍历

from bs4 import BeautifulSoup
import requests
r = requests.get('https://python123.io/ws/demo.html')
demo = r.text
demo
soup = BeautifulSoup(demo,'html.parser')
#打印a标签的所有父辈标签的名字
for parent in soup.a.parents:
    if parent is None:
        print(parent)
    else:
        print(parent.name)

平行遍历(只能平行遍历同一个父辈标签下的标签)

from bs4 import BeautifulSoup
import requests
r = requests.get('https://python123.io/ws/demo.html')
demo = r.text
demo
soup = BeautifulSoup(demo,'html.parser')
soup.a.next_sibling  #a标签的下一个节点
                     #下一个节点不一定是标签,也有可能是NavigableString类型
soup.a.next_sibling.next_sibling  #a标签的下一个节点的下一个节点
soup.a.previous_sibling  #a标签的上一个节点

for sibling in soup.a.next_siblings:   #遍历后续节点
    print(sibling)

基于bs4库的HTML格式化和编码

from bs4 import BeautifulSoup
import requests
r = requests.get('https://python123.io/ws/demo.html')
demo = r.text
soup = BeautifulSoup(demo,'html.parser')
soup.prettify()  #.prettify()在标签后加换行符
print(soup.prettify())  #print函数将\n换行符实现
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python BeautifulSoup是一个用于解析HTML和XML文件的Python库。它能够将复杂的HTML和XML文档转换成易于遍历、搜索和修改的Python对象树。通过使用BeautifulSoup,我们可以方便地提取出网页中的各种标签和内容,进行数据分析和处理。BeautifulSoup有两个常用版本:BeautifulSoup 3和BeautifulSoup 4(简称BS4)。目前,更多的是使用BeautifulSoup 4,也就是BS4版本。如果你在使用BeautifulSoup时遇到了问题,比如报错“‘NoneType’ object is not callable using ‘find_all’ in BeautifulSoup”,可能是因为你需要安装BeautifulSoup4版本或bs4。 要使用BeautifulSoup,你需要安装BeautifulSoup4库。如果你使用的是Anaconda等集成开发环境,它的BeautifulSoup扩展包通常已经预装了,可以直接使用。一旦安装好了BeautifulSoup,你就可以使用它的各种方法来解析网页,提取标签信息和内容。例如,你可以使用BeautifulSoup的find方法来查找指定的标签,使用get_text方法来获取标签的文本内容,使用find_all方法来查找所有符合条件的标签等等。 总结起来,Python BeautifulSoup是一个功能强大的库,可以帮助我们解析和处理HTML和XML文件。它提供了很多方便的方法和技巧,使得我们能够轻松地提取出网页中的各种信息,并进行进一步的数据处理和分析。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值