#request.get.content()//获取数据内容
import urllib.request
import requests
from bs4 import BeautifulSoup
from urllib import request
url="https://www.audibrand.cn/"
h={"User-Agent":"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Mobile Safari/537.36 Edg/112.0.1722.48"}
res=requests.get(url,headers=h) //获取网站状态 得到200为正常
data=BeautifulSoup(res.content,"html.parser") //需要获取网站的数据内容需要用.content
# print(data)
a=data.find("video",attrs={"class":"video-player mobile-video embeded-video"}) //使用find找到video大标签
# print(a)
b=a.find("source")//在video大标签里面获得source单标签
c=b.get("src")//在soure单标签里面获得src里面的数据,及MP4的url地址
url1="https://www.audibrand.cn/"+c//由于获取的MP4地址不完整,所以添加域名进行MP4的完整获取
urllib.request.urlretrieve(url1,"shiping/2.mp4")
# print(c)
# print(b)
1,什么时候用find find_all get text
寻找单张图片的时候适合用find find适合在大标签(例如div里面,里面会有许多的小标签,例如<img>,<p>)里面寻找,find_all用于寻找多张照片也是适合在大标签里面找,用于匹配到所有照片都存在的大标签里面,get适合在单标签里面找,例如在<img>标签里面寻找src。
2,find用法
a=find(data,attrs={"class":"clearfix"})用于定义大范围
a.find("img")用于定义小范围标签
3,find_all用法
先用find找到大范围
a=soup.find("ul",attrs={"class":"clearfix"})
再用find_all找到所有的小范围
b=a.find_all("img")
4,get用法
假设data=<img src="http://www.baidu.png" alt="百度照片”>,可以通过get方式来获取src data.get(src)
5,假设一次find找不到目的标签,可以使用多个find找到需要的标签
6,text用法
假设标签<span class="_target">好久不见</span>需要获得好久不见的文本信息,直接使用get("span").text就能获得