8、爬虫-beatifulsoup-bs4

 

beatifulsoup的概念:Beautiful Soup就是Python的一个HTML或XML的解析库,可以用它方便地提取页面的数据。

 

 

1、安装bs4:pip install bs4

2、使用:from bs4 import BeautifulSoup

3、创建对象:BeautifulSoup(文本,“html.parser”)  #html.parser 告诉解析器这是个html文本

4、bs4只有两个功能函数:

  find(标签名,属性=值)    #只找第一个  、属性=值可不写

  find_all(标签名,属性=值)  #查找所有

  .text表示取被标签标记的内容 :如 <h1>被标记的内容</h1>

  .get(属性)  #可以拿到属性的值  如:<a href=http://xxxx>xxxx</a>     .get("href")  既可以取到http://xxxx

 

5、案例:取到视频的标题

"""
查找视频名称
"""

import requests
from bs4 import BeautifulSoup

headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
url="https://www.xinpianchang.com/discover/article-69-0?utm_source=xpcWeb&utm_medium=navigatorCate&index=13"
response = requests.get(url,headers=headers)

#print(response.text)


#创建bs4对象
page = BeautifulSoup(response.text,"html.parser")  #指定bs4解析器、html.parser告诉解析器这是一个html文本

#从拿到的文本中提取数据、通过标签和属性取值
#title = page.find_all("h2", class_="truncate block")    #这里属性class_ 这样写是因为、再python中class是关键字 、也可以这样写:如下
titles = page.find_all("h2", attrs={"class": "truncate block"}) #等同于上面的
#拿到这个数据<h2 class="truncate block" title="抖音年度动画短片《鼠国列车》:这个世界的一切竟然都是复制粘贴的?">抖音年度动画短片《鼠国列车》:这个世界的一切竟然都是复制粘贴的?</h2>

#print(title.text)

for title in titles:
    print(title.text)
posted @ 2024-07-01 22:24  little小新  阅读(34)  评论(0)    收藏  举报