分享一个B站爬虫(爬取视频信息相关数据)
2019-07-23 23:22
766 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_40693171/article/details/97046887
前言
- 严寒酷暑,晚上进入理发店准备剪头时翻开班群消息。
- 勾起了我的兴趣,理发店人有点小多,回去瞅瞅吧。因为知道B站技术还是不错的。可能有难度。
分析
- 抱着看一看,玩一玩的态度,开始B站分析之旅。由于时间精力有限,不做太详细说明。
- B站的信息。第一想到肯定
不可能直接渲染
,只有比较old的网站现在才会渲染到html。我想他的数据肯定时js渲染
或者ajax
渲染进去的。然而,换页发现url
会变化,并且xhr
没有我们想要的数据。虽然url会变化但是查看源码依然找不到
想要的数据。
- websocket 也没有传输数据。那么范围就肯定大概率在js里面了。一查找,数据果然藏在js里面。通过
js的文件
解析进行渲染。有点骚。
- 想要的数据应有尽有,只需要对文本进行分割即可获得一个json文件。问题来了。js参数那么多,
是否
有设置加密
呢。点了两个发现有的参数确实会变化
。
- 我不知道它是否会对我造成影响。简单搜搜参数,debug一下,发现好像
没有
什么特别需要的参数
。直接
更改页数应该可以。我在浏览器测试了一下,参数删除丝毫不影响,如果影响也没时间研究加密就算了,ok,没问题。
编写爬虫
好了。这个数据来源没加密,无cookie加密验证,很好搞,只需要根据专栏url,修改页数就ok。
import requests from bs4 import BeautifulSoup import json import urllib.parse ## 只需要更改page url="https://s.search.bilibili.com/cate/search?callback=jqueryCallback_bili_&main_ver=v3&search_type=video&view_type=hot_rank&order=click©_right=-1&cate_id=17&pagesize=20&jsonp=jsonp&time_from=20190716&time_to=20190723&_=1" data={'page':1} for page in range(1,10): data['page']=page req=requests.get(url,data=data) res=req.text res=res.replace("jqueryCallback_bili_","") res=res[1:(len(res)-1)] res=json.loads(res) result=res['result'] for val in result: print(val['author'],'播放:',val['play'],'喜欢',val['favorites'],'review',val['review'])
- 好了,存储那些就不是我的事了。大胆分析就ok,不算难,就是挺新的在js藏数据。
- 迎关注我的个人公众号交流:
bigsai
相关文章推荐
- 【python爬虫】抓取B站视频数据及相关信息(二)
- 【python爬虫】抓取B站视频相关信息(一)
- c# .Net :Excel NPOI导入导出操作教程之数据库表信息数据导出到一个Excel文件并写到磁盘示例分享
- 500G python web、爬虫、数据分析、机器学习、大数据、前端实战项目视频代码免费分享
- python爬虫——爬取b站APP视频信息(通过fiddler抓包工具)
- 分享一个java写的中国象棋代码以及相关视频
- Java多线程B站爬虫与45万条视频数据,mysql批量写入性能对比,附代码
- 【爬虫问题】爬取tv.sohu.com的页面, 提取视频相关信息
- 写一个爬虫来获取地铁信息数据
- 分享python3爬虫及数据分析实战视频教程
- IOS 分享 一个 iphone 系列 视频讲座
- Golang 如何定义一个接口类型的切片,它可以用来存储混合类型的数据,又如何自定义错误信息输出,以及如何定义变参函数,还有字符串多种拼接方式
- Python网络爬虫与信息提取-Day14-(实例)股票数据定向爬虫
- 在家看孩子,10分钟生成一个业务管理系统【能支持多数据库,大数据,流程审批,权限控制,即时提醒】,视频讲解详细实现步骤
- 介绍一个分享社会化web信息的分享工具
- 爬虫-根据公司名抓取相关员工的linkedin数据
- 关于一个很好用的数据恢复软件分享
- 分享给大家一个简单的数据导出excel类
- 分享一个简单的java爬虫框架
- HTTTP协议头中,添加某一个字段,获取返回数据中头信息的某一个字段。