python学习笔记--实现简单的爬虫(二)

任务:爬取B站上最爱欢迎的编程课程

网址:编程-哔哩哔哩_bilibili

打开网页的代码模块,如下图:

标题均位于class_="bili-video-card__info--tit"的h3标签中,下面通过代码来实现,需要说明的是URL中的中文写到程序中,已自动转义:

python 复制代码
import requests
from bs4 import BeautifulSoup

url = 'https://search.bilibili.com/all?keyword=%E7%BC%96%E7%A8%8B&from_source=banner_search&order=show&duration=0&tids_1=0'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}
# 设置请求头,模拟浏览器访问
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
}

# 发送GET请求
response = requests.get(url, headers=headers)

# 检查请求是否成功
if response.status_code == 200:
    # 解析HTML内容
    soup = BeautifulSoup(response.text, "html.parser")

    # 查找所有<h3>标签
    h3_tags = soup.find_all("h3", class_="bili-video-card__info--tit")

    # 遍历所有<h3>标签,提取title属性值
    for index, h3_tag in enumerate(h3_tags, start=1):
        title = h3_tag.get("title")
        if title:
            print(f"Title {index}: {title}")
        else:
            print(f"Title {index}: 无title属性")
else:
    print("请求失败,状态码:", response.status_code)

输出:

需要注意的是:网页的代码并非一成不变,爬取时一定要使用F12分析其代码结构。

相关推荐
维克兜率天3 小时前
【维克】统计套利:寻找市场的“定价误差“
人工智能·python·算法
承渊政道3 小时前
【Python编程—从入门到实践】(让程序记得、恢复并解释失败:Python 文件、异常与JSON系统教程)
开发语言·python·pycharm·json·异常处理
郭庆汝3 小时前
(六)MCP+A2A之——Playwright与BrowserUse:让AI学会像人类一样使用浏览器
开发语言·python
Yolanda_20223 小时前
26.网络模型的保存与读取
人工智能·pytorch·python
weixin199701080163 小时前
《京东JOS API:落地方案、接口边界与业务踩坑 —— 联盟免费 vs 商家按量的双轨制》(附python源码)
java·网络·python
外收内放3 小时前
数据分析(数据查询与选择)
python·学习·数据分析
林澈在路上3 小时前
哪个写歌软件可以用自己声音?MELO音乐详解
人工智能·python·算法
外收内放4 小时前
数据分析(数据读取与写入)
python·学习·数据分析
zh路西法4 小时前
【离策略强化学习】DDPG、TD3 与 SAC:核心公式推导与源码解析
python·强化学习·ddpg·td3·sb3·off-policy·sac
秋秋小事4 小时前
python 数据契约层FastAPI+Pydantic(一)
python