1. 先看效果图,随便抓的信息


2. 解析 ,fiddler抓包工具的配置大家自己百度吧,教程都很详细

3. 打开fiddler和模拟器,在模拟器打开哔哩哔哩软件,fiddler我是通过查找分析之后之后过滤的域名

4. 我们通过打开b站的相应版块,然后进行往下翻页之后,fiddler就会根据我之前选择过滤的域名给我标黑

5. 我们点开其中一条标黑的url,然后和b站软件的进行对比,发现我们需要的信息都可以抓取出来

6. 我们可以通过这两条url的对比,查找出不同的地方,经过我的测试,pn代表的是页码,后面红框打叉的地方我们可以不要,这样我们就可以实现翻页了

7. 需要注意的是我们需要无视ssl安全证书,也就是在requests那里加一个verify=False,这个很重要,不加的话就访问不了url的,返回的数据是json格式,所以大家都懂怎么操作了

8. 大家想要什么数据自己去找,当然其中的数据代表什么也需要大家自己去想了

9. 再说一下,翻页到什么时候就到底了呢,通过观察我发现,当到底部的时候,json数据里面的data为空,所以我们只要判断json里面的data是否为空做为判断是否到达底部

10. 完整代码附上

import requests
import json
import csv
import time# 构建请求头
headers = {# 'Buvid': 'XZ512D1509193D98B13705F88F4266CFF9B32','User-Agent': 'Mozilla/5.0 BiliDroid/5.40.0 (bbcallen@gmail.com)',# 'Device-ID': 'Lk16QnVEfRt_TnxEOEQ4DDgNPQw9Dzo','Host': 'app.biliapi.net','Connection': 'Keep-Alive',# 'Accept-Encoding': 'gzip',}# 声明一个列表存储字典
data_list = []def start_spider():page = 1while True:time.sleep(1)url = 'https://app.biliapi.net/x/v2/region/show/child/list?appkey=1d8b6e7d45233436&build=5400000&channel=360' \'&mobi_app=android&order=view&platform=android&pn={}&ps=20&rid=33&tag_id=0'.format(page)page += 1resp = requests.get(url, headers=headers, verify=False)json_data = resp.json()# 先取出所需信息的键值对,下面是一个列表,列表存储的是我们所需要的信息datas = json_data.get('data')# 如果数据存在就抓取,否则就退出if datas:# 遍历for data in datas:# 标题title = data.get('title')# up主名字name = data.get('name')# 播放数play = data.get('play')# 评论数duration = data.get('duration')# 声明一个字典存储数据data_json = {}data_json['title'] = titledata_json['name'] = namedata_json['play'] = playdata_json['duration'] = durationdata_list.append(data_json)print(data_json)else:breakdef main():start_spider()# 将数据写json文件with open('data_json.json', 'a+', encoding='utf-8-sig') as f:json.dump(data_list, f, ensure_ascii=False, indent=4)print('json文件写入完成')# 将数据写入csv文件with open('data_csv.csv', 'w', encoding='utf-8-sig', newline='') as f:# 表头title = data_list[0].keys()# 声明writer对象writer = csv.DictWriter(f, title)# 写入表头writer.writeheader()# 批量写入数据writer.writerows(data_list)print('csv文件写入完成')if __name__ == '__main__':main()

python爬虫——爬取b站APP视频信息(通过fiddler抓包工具)相关推荐

  1. python爬取b站搜索结果播放地址_如何利用Python快速爬取B站全站视频信息

    B 站我想大家都熟悉吧,其实 B 站的爬虫网上一搜一大堆.不过 纸上得来终觉浅,绝知此事要躬行,我码故我在.最终爬取到数据总量为 760万 条. 准备工作 首先打开 B 站,随便在首页找一个视频点击进 ...

  2. python爬虫爬取当当网的商品信息

    python爬虫爬取当当网的商品信息 一.环境搭建 二.简介 三.当当网网页分析 1.分析网页的url规律 2.解析网页html页面 书籍商品html页面解析 其他商品html页面解析 四.代码实现 ...

  3. python爬虫爬取大众点评店铺简介信息

    python爬虫爬取大众点评店铺简介信息 写作目的: 爬取目标 大众点评的保护机制 应对方法 还存在的问题 写作目的: 今天帮朋友一个忙,要爬取一些大众点评上的数据.结果发现大众点评的防爬机制还挺多的 ...

  4. 爬虫---爬取b站小视频

    分析b站小视频 1.进入到抓取链接地址 2.分析抓取链接内容 通过F12或者抓包工具进行查看我们需要爬取的视频在哪里存放,页面以ajax动态加载的 3.分析请求内容和请求参数 通过查看请求内容得到这些 ...

  5. python爬取b站403_使用Python爬取B站全站视频信息

    B站我想大家都熟悉吧,其实 B 站的爬虫网上一搜一大堆.不过纸上得来终觉浅,绝知此事要躬行,我码故我在.最终爬取到数据总量为 760万条. 准备工作 首先打开 B 站,随便在首页找一个视频点击进去.常 ...

  6. python爬取b站数据_使用Python爬取B站全站视频信息

    B站我想大家都熟悉吧,其实 B 站的爬虫网上一搜一大堆.不过纸上得来终觉浅,绝知此事要躬行,我码故我在.最终爬取到数据总量为 760万条. 准备工作 首先打开 B 站,随便在首页找一个视频点击进去.常 ...

  7. python爬虫爬取新浪网站新闻内容

    我们以爬取sina时尚模块为例 准备工作 为进行爬虫爬取工作,我们需要进行相关库的准备以及对网页设置布局的了解 相关库的准备 import os import re import urllib fro ...

  8. 如何快速爬取B站全站视频信息

    專 欄 ❈陈键冬,Python中文社区专栏作者,知乎专栏:尽瞎扯 GitHub: https://github.com/chenjiandongx ❈ B站我想大家都熟悉吧,其实 B 站的爬虫网上一搜 ...

  9. python爬虫 爬取爱企查公司信息

    目录 一.思路 1.1输入网址,查看源代码 1.2 F12抓包,寻找数据包. 1.3查看数据包的URL和是否有传递的参数 ​ 1.4编写代码 一.思路 1.1输入网址,查看源代码 可以看到源代码中没有 ...

  10. Python爬虫入门教程 71-100 续上篇,python爬虫爬取B站视频

    写在前面 上篇博客我们用比较大的篇幅分析了B站视频传输方式,这篇博客填一下之前留下的坑,我们把代码部分写出来. 文章来源:梦想橡皮擦,其实这个ID是一个组合 分析的步骤与逻辑这里不再重复给大家演示了, ...

最新文章

  1. android调用unity,大神们,请问unity和Android交互的时候,为什么总是调用不到方法...
  2. gdb InnoDB Redundant Row Format
  3. Android-简单拨号器案例
  4. 运维秘籍:防止数据丢失“六脉神剑”
  5. Hadoop分布式集群安装配置
  6. android adb apk包名,ADB命令简单使用--查看包名、activity等
  7. 视觉盛宴VALSE 2021来了!今晚开始【预注册】
  8. 【Android基础】android shape详解
  9. OpenAPI 开发者挑战赛第三期
  10. 会赚钱的教师才是好教师
  11. 集体智慧编程 - 读书笔记
  12. [4G+5G专题-144]: 一体化小基站- 5G小基站硬件建议架构概述
  13. MSNMessenger忌讳用法大全(转)
  14. SOLIDWORKS Composer生成BOM表属性不显示的解决办法
  15. postman的简单使用
  16. uni-app 167将某人踢出群聊(二)
  17. 生产环境 java.util.concurrent.RejectedExecutionException: event executor terminated 错误分析
  18. LC.1056. Confusing Number, LC.246. Strobogrammatic Number
  19. 联想小新pad和pro的区别
  20. 银行业务用语大全(中英文)

热门文章

  1. linux xfs文件恢复,Linux 文件恢复(XFS EXT4)
  2. Water Tree CodeForces 343D 树链剖分+线段树
  3. 计算机网络零碎笔记:IP协议(一)
  4. mysql数据库实操笔记20170418
  5. Eclipse SVN图标等设置
  6. 使用光学鼠标传感器实现旋转(或线性)测量(转)
  7. 一个winform中多线程的例子
  8. 我用.Net做的一些系统及参与测试的系统
  9. tensorflow不能安装问题之(wrapt)
  10. FPGA 二选一数据选择器