news 2026/8/21 21:21:25

爬取b站的网页信息

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
爬取b站的网页信息

问题一:只能爬取到第一页的内容

对响应输出,不管怎么改url后面的内容的内容都是一样的

import requests headersvalue={ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0' } url='https://search.bilibili.com/all?keyword=labubu&from_source=webtop_search&spm_id_from=333.1007&search_source=3&page=3&o=48' r=requests.get(url,headers=headersvalue) print(r.request.headers) print(r.url) print(r.status_code) print(r.text)

可能性分析:

1.核心数据是前端通过 Ajax 动态加载的,直接请求我写的 URL,返回的是 “空壳 HTML”(只包含页面框架,数据靠 JS 渲染)

尝试定位api接口的位置:

直接搜search更方便

点进去看响应,没有发现我们想要的title什么的

退回去一个一个api看,找到了两个有点像的

第一个就是suggest,根据翻译猜测是推荐框

第二个是detail,仔细翻阅有我想要的标题,up主等信息

写到这里,我试了很久,决定暂时放弃,下面学到的内容很有用

问题二:爬取b站的入站必刷、综合热门的信息

首先,有一点很重要的,我之前一直以为爬取的内容是响应的text文本里的内容,其实不是的,text里的内容是服务器返回的原始内容,是没有经过处理的,我们要对text进行json解析,解析成字典或者是列表

明确这点的话,那我们找到合适的响应内容,能够解析成json格式的链接

像上面那样的,是我们需要的,找到以后就可以拿到网址(在标头里的请求url)

import requests headersvalue1= { 'User-Agent': '自己的', 'Referer': '自己的', 'Cookie':"自己的" } params1={'number':350} url1='https://api.bilibili.com/x/web-interface/popular/series/one' r1= requests.get(url1, headers=headersvalue1,params=params1) print(r1.status_code) print(r1.json() ) print("\n") headersvalue2={ "user-agent":"自己的", "Referer":"自己的", "Cookie":"自己的" } params2={'page_size':100,'page':1} url2='https://api.bilibili.com/x/web-interface/popular/precious' r2= requests.get(url2, headers=headersvalue2,params=params2) print(r2.status_code) print(r2.json() )

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 22:10:51

TinyMCE6处理站群平台word文档转存

企业网站后台Word/公众号内容导入功能集成项目记录 1. 项目需求分析 作为广西某集团公司的项目负责人,我们近期需要为企业网站后台管理系统的文章发布模块增加以下功能: 核心需求: Word粘贴功能:支持从Word复制内容粘贴到编辑…

作者头像 李华
网站建设 2026/8/21 5:27:51

2025.12.13少年宫mqtt舵机实验教程

内容1组装部分所需材料将上述零件卡在底板中。用两个螺丝拧紧,注意螺丝孔位与上图保持一致。将一个舵机与该零件合并倒扣在底板上加螺丝拧紧、将与上图相同的三角零件按照该方式用螺丝拧紧效果如图另一半相同将顶板卡在第二个舵机上然后如此卡在之前的安装的部件中然…

作者头像 李华
网站建设 2026/8/21 6:00:20

Python毕业设计题目:基于机器学习的校园二手物品交易平台设计与实现

一、项目背景与意义随着高校学生流动性增强,闲置书籍、电子产品、生活用品等二手物品堆积问题日益突出。一方面,学生希望快速处置闲置物品回笼资金;另一方面,新生或有需求的学生渴望以低价获取高性价比物品。传统线下交易模式存在…

作者头像 李华
网站建设 2026/8/20 23:29:03

山楂莓矮砧密植:水肥一体化系统的铺设要点指南

认识山楂莓矮砧密植山楂莓矮砧密植,简单来说就是选用矮化品种(Dwarf variety),通过科学增加种植密度来提高产量的创新栽培模式。就像在有限的果园空间里,巧妙布局更多果树,让每寸土地都释放最大潜能。这种栽…

作者头像 李华
网站建设 2026/8/21 17:29:31

移动应用开发实验室25级期末考核

文章目录一、 链表的基本操作创建英雄节点类创建英雄节点类插入节点通过姓名查看熟练度通过姓名删除信息通过姓名修改英雄稀有度将链表保存到文件从文件中读出信息并以链表形式储存说说你理解的大小端,现代电脑一般是大端存储还是小端存储?文件操作中“流…

作者头像 李华
网站建设 2026/8/21 15:16:01

INSERT INTO 用法

INSERT INTO 语句用于向数据库表中插入新记录。基本语法如下: 以class one数据表为例 姓名性别分数李大男40李二女60李三男50 一、插入单行 INSERT INTO classone(姓名, 性别, 分数) VALUES (张三, 男, 20);现在输出的结果是 姓名性别分数李大男40李二女60李三男…

作者头像 李华