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分析其代码结构。

相关推荐
亚空间仓鼠21 小时前
Python学习日志(四):实例
开发语言·python·学习
2301_7641505621 小时前
Redis如何控制只读从库的安全_配置replica-read-only防止从节点数据被意外篡改
jvm·数据库·python
DaqunChen21 小时前
SQL如何检测分组内是否存在满足条件的数据_EXISTS结合分组
jvm·数据库·python
段一凡-华北理工大学21 小时前
【大模型+知识图谱+工业智能体技术架构】~系列文章02:工业知识图谱的构建与知识表示学习方法!!!
数据结构·python·神经网络·知识图谱·物理系统·神经逆向渲染
2301_8035389521 小时前
Bootstrap 5栅格系统的五列等分布局方案
jvm·数据库·python
船长Talk21 小时前
Pandas数据清洗完整指南:8大核心技巧详解
python
粉嘟小飞妹儿21 小时前
如何用 error 事件全局捕获页面图片或脚本加载失败状态
jvm·数据库·python
2301_8152795221 小时前
如何在导航栏中实现左右两端对齐的菜单项布局
jvm·数据库·python
船长Talk21 小时前
NumPy+Pandas数据分析基础完全指南
python
Wyz2012102421 小时前
宝塔面板安装后显示无法连接数据库_检查MySQL服务状态
jvm·数据库·python