爬取b站的网页信息

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

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

python 复制代码
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)

python 复制代码
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() )
相关推荐
liwulin05062 小时前
【PYTHON】python venv创建虚拟环境,非conda
开发语言·python·conda
IT·小灰灰2 小时前
当AI开口说话:可灵视频2.6如何终结“默片时代“重塑视听共生
大数据·人工智能·python·深度学习·数据挖掘·开源·音视频
2401_841495642 小时前
【LeetCode刷题】缺失的第一个正数
数据结构·python·算法·leetcode·数组·哈希·缺失最小正整数
Python极客之家2 小时前
基于数据挖掘的中风智能预测系统
人工智能·python·数据挖掘·毕业设计·课程设计
C++业余爱好者2 小时前
Java 中的数据结构详解及应用场景
java·数据结构·python
测试19982 小时前
软件测试方法之边界值分析法
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
ULTRA??2 小时前
字符串处理小写字母转换大写字母
c++·python·rust
Lethehong2 小时前
昇腾NPU实战:CodeLlama-13B模型部署与推理全流程
python·大模型·昇腾atlas 800t·codellama-13b
2301_764441333 小时前
使用python构建的决策逻辑的图论
开发语言·python·图论