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 分钟前
Function Calling
python
孟陬3 分钟前
Node.js v26.0 新增超甜的语法糖 getOrInsert / getOrInsertComputed 介绍
python·node.js
wmm_会飞的@鱼5 分钟前
FlexSim-基于SLP方法的A汽车企业总装车间布局优化
前端·数据结构·数据库·python·数学建模·汽车
凯瑟琳.奥古斯特6 分钟前
深度学习入门:用PyTorch实现MNIST手写数字识别
pytorch·python·深度学习
源码之家7 分钟前
计算机毕业设计:Python智慧医疗问答系统 知识图谱 Flask框架 数据可视化 neo4j图数据库 大模型 agent(建议收藏)✅
大数据·python·数据挖掘·数据分析·flask·知识图谱·课程设计
Ulyanov10 分钟前
《从质点到位姿:基于Python与PyVista的导弹制导控制全栈仿真》: 同台竞技——3-DOF与6-DOF模型的终极对决与误差分析
开发语言·python·算法·系统仿真·雷达电子对抗仿真
CHANG_THE_WORLD11 分钟前
二次重命名对文件批量重命名
开发语言·python
加号311 分钟前
【C#】 通过 Python.NET 调用 Python pyd 扩展模块:多类交互与参数传递实践指南
python·c#·.net
财经资讯数据_灵砚智能12 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年5月12日
人工智能·python·信息可视化·自然语言处理·ai编程