13用BeautifulSoup爬取网站
代码如下
from bs4 import BeautifulSoup
import requests
'''
本例子通过BeautifulSoup 的常用方法find_all 查询出所有包含电影名字的a标签的父节点h4,再通过父节点遍历得到a标签中的文本。
find_all 里面的参数一般是class_ 、id、name等html属性值,批量爬取数据时往往使用的是class属性。
目标html结构
<h4 class="title text-overflow">
<a href="/vod/47562.html" title="梦游乐园">梦游乐园</a>
</h4>
BeautifulSoup 的作用不仅如此,还可以获取属性值等等,根据网页结构和属性捕获数据。
案例2:
假设一个table表格中,找tr标签中的所有td标签。
soup = BeautifulSoup(html, 'lxml')
# 先找到td标签,可以根据上面用属性去找,也可以直接通过标签,
tr_tag = soup.find('tr')
# 获取了tr标签后,搜索内部,可以用属性去找或标签名称。
td_tags = tr_tag.find_all('td')
案例3:
根据元素名称及属性搜索元素
form_tag=main_tag.find_all('form',attrs={'name': 'items'})
或
form_tag=main_tag.find('form',attrs={'name': 'items'})
案例4:
获取tbody下直接的子元素tr。
思路:先获取tbody元素中所有tr元素,在用tr.parent == tbody_tag判断是否是直接子元素
tbody_tag = form_tag.find('tbody')
tr_tag = tbody_tag.find_all('tr')
tr_list = [tr for tr in tr_tag if tr.parent == tbody_tag]
print(len(tr_list))
'''
# 案例实现
def fun1():
req = requests.session()
headers = {
'authority': 'fsbj001.com',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8',
'cache-control': 'no-cache',
'pragma': 'no-cache',
'referer': 'https://fsbj001.com/list/dianying-1.html',
'sec-ch-ua': '"Not/A)Brand";v="99", "Google Chrome";v="115", "Chromium";v="115"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
'sec-fetch-dest': 'document',
'sec-fetch-mode': 'navigate',
'sec-fetch-site': 'same-origin',
'sec-fetch-user': '?1',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36',
}
response = req.get('https://fsbj001.com/list/dianying-1.html', headers=headers)
soup = BeautifulSoup(response.text, 'lxml')
h4_list = soup.find_all(class_='title text-overflow')
for h4 in h4_list:
# print(h4.a.text) 等价下面语句,有时string无法输出 用text输出。
print(h4.a.string)
输出结果
兴安岭猎人传说2 星条红与皇室蓝 金牌保镖 谍之心 关于我和鬼变成家人的那件事 白日青春 爷爷的人生滑板 玛丽·塞莱斯特的附魔 扫毒3:人在天涯粤语 72小时-黄金行动 扫毒3:人在天涯国语 不要见怪 河畔城市 亚当2019 ...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理