爬取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() )
相关推荐
羸弱的穷酸书生6 分钟前
python中各种数据类型的转换方法
python
D___H15 分钟前
Part8_编写自己的解释器
python
TDengine (老段)29 分钟前
TDengine Python 连接器入门指南
大数据·数据库·python·物联网·时序数据库·tdengine·涛思数据
田里的水稻1 小时前
C++_python_相互之间的包含调用方法
c++·chrome·python
2501_941870561 小时前
面向微服务熔断与流量削峰策略的互联网系统稳定性设计与多语言工程实践分享
开发语言·python
GIS之路2 小时前
GDAL 实现矢量裁剪
前端·python·信息可视化
IT=>小脑虎2 小时前
Python零基础衔接进阶知识点【详解版】
开发语言·人工智能·python
智航GIS2 小时前
10.6 Scrapy:Python 网页爬取框架
python·scrapy·信息可视化
清水白石0082 小时前
解构异步编程的两种哲学:从 asyncio 到 Trio,理解 Nursery 的魔力
运维·服务器·数据库·python
山海青风2 小时前
图像识别零基础实战入门 1 计算机如何“看”一张图片
图像处理·python