当前位置: 首页 > article >正文

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

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

网址:编程-哔哩哔哩_bilibili

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

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

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


http://www.kler.cn/a/598047.html

相关文章:

  • JS数组扁平化(多维转一维)
  • OpenFOAM中snappyHexMesh工具如何支持Cut-Cell方法
  • Enhancing Zero-shot Text-to-Speech Synthesis with Human Feedback论文学习
  • k8s的核心组件整理
  • Pytorch实现之对称卷积神经网络结构实现超分辨率
  • Java IO 流:从字节到字符再到Java 装饰者模式(Decorator Pattern),解析与应用掌握数据流动的艺术
  • 【可靠性】高κ-SrTiO3 MoS2 FET的稳定性和可靠性
  • Web开发-JS应用NodeJS原型链污染文件系统Express模块数据库通讯
  • JAVASCRIPT 基础 DOM元素,MAP方法,获取输入值
  • 【设计模式】SOLID 设计原则概述
  • git日常学习
  • prompt工程起步
  • AI基础01-文本数据采集
  • C语言-装饰器模式详解与实践 - LED控制系统
  • 【MySQL】从零开始:掌握MySQL数据库的核心概念(三)
  • 对接OpenAI 4O RealTime实现语音实时翻译
  • 【Json-RPC框架】:Json存储结构,operator[ ]返回的就是对应的value对象
  • nnunet复现第一天
  • 【weixin9006】优购电商小程序的设计与实现
  • 人工智能之数学基础:特征值和特征向量