bilibili 爬虫 模仿登录
正在开发biliapi这一个神奇的API库……不用网页登录接口而是客户端登录,免验证。可以通过客户端获取cookie。附带一大堆题主可能需要的api,甚至写完直播还打算写开直播。如果dalao想一起来玩,私戳我thx
【bilibili 爬虫 模仿登录】 另外,biliapi也是有网页版的:https://api.kaaass.net/biliapi/docs/ ,除了我懒得更新,其他都没啥。关于无验证码登录,文档里也有介绍。如果你需要啥API,或者想到了什么可以放进biliapi的东西,欢迎到我博客留言:https://kaaass.net,或者email: admin@kaaass.net。如果你嫌我更新太慢,欢迎用值乎提问题或者在我的博客的About-捐助页面砸我一个包子。
■网友
不用cookie写个帐号密码登录bilibili的试试。或者利用selenium,你这个挺有趣的,我回去写写。===================================更新的分割线.题主.你还在关心着这个问题嘛!在我尝试了各种登陆方法之后.还是选择了selenium这个库.其实requests登陆bilibili我已经实现了.但是在进入收藏夹页面抓取page_source之后我发现代码比用F12看到的少了很多.为什么捏.因为bilibili很多东西都是js动态加载出来的.所以用一般的urllib和requests是无法获取收藏夹里面的视频链接的.所以,推荐用selenium这个库.selenium+cookies直接登陆是一种不错的选择.但是我好像一次都没有成功过= .=.还有B站的传统登陆,也就是哔哩哔哩弹幕视频网这个入口,里面的验证码是异步加载的,即是要点击一下验证码框框才会出现验证码图片,之前用requests的时候从它的验证码api获得的图片输入进去都不是它所要的.后来发现了哔哩哔哩快速登录这个点.免去了验证码登陆.最后我就用这个去登陆了.要是题主有兴趣的话可以去研究一下主站入口的登陆...我在里面绕了半天都不知道如何获取它的验证码图片下面放一部分的代码给你参考一下~.其实实际操作很简单,但是中间的过程还是比较艰辛的.....from bs4 import BeautifulSoupfrom selenium import webdriverdriver=webdriver.Firefox()driver.get(\u0026#39;https://passport.bilibili.com/ajax/miniLogin/minilogin\u0026#39;)username=input("plz enter your phone number")password=input("plz enter your pwd")driver.find_element_by_id(\u0026#39;login-username\u0026#39;).send_keys(username)driver.find_element_by_id(\u0026#39;login-passwd\u0026#39;).send_keys(password)driver.find_element_by_id(\u0026#39;login-submit\u0026#39;).click()driver.get(\u0026#39;http://space.bilibili.com/#!/favlist\u0026#39;)print(driver.page_source)driver.page_source里面就是搜藏夹包括js执行完毕后的所有代码.你看看前端把收藏夹里面的href提取出来,然后下载av号里面的视频,然而这也是后面比较艰辛的工作了.要是题主你发现了其他更好的登陆方式比如主站的登陆方式的话,欢迎交流!==========================================更新的分割线...应该算最后一次更新了..因为page_source里面也没有直接给出收藏夹里href的链接.是我想的太少了= =.我还是太naive.所以,还是从头开始.去看看bilibili的前端代码.进入收藏夹页面.审核一下前端元素.....\u0026lt;div class="section fav" id="favlist" data-api="/ajax/fav/getBoxList" name="fav_video" data-params="{\u0026amp;quot;mid\u0026amp;quot;: XXXXXXX}" data-max="25"\u0026gt;.........\u0026lt;/div\u0026gt;可以看到如上的代码..发现是ajax....所以打开F12刷新一下.然后过滤一下XHR.仔细查找一番.可以看到getBoxLIst?mid=XXXXXXX点开看下preview.就可以看到json数据.里面就有你收藏夹里面的av号了.还有mid这个值貌似是固定的.你模拟登陆上去之后在源码里就可以发现他.所以大概思路是这样的:!\u0026gt;\u0026gt;\u0026gt;\u0026gt;模拟登陆Bilibili(最重要的一步)2\u0026gt;\u0026gt;\u0026gt;\u0026gt;在收藏夹页面找到mid值3\u0026gt;\u0026gt;\u0026gt;\u0026gt;然后相应的url请求get json数据4\u0026gt;\u0026gt;\u0026gt;\u0026gt;解析数据5\u0026gt;\u0026gt;\u0026gt;\u0026gt;获取AV号并且下载.撒花,OVER最后. @望实
推荐阅读
- python 爬虫,咋获得输入验证码之后的搜索结果
- 1、相同的网址,为啥浏览器http和https都能登录,而爬虫不行\n2、网页下载内容不全
- 原创|最自信的网红,自己粉丝不到100万,创作的舞蹈却被全网模仿
- 刘德华|刘德华回应“六亲不认步伐”,夸赞万茜模仿得“可爱”
- 知乎豆瓣这样的网站,是不是中国的原创理念
- 王耀庆|一组王耀庆恶搞大片曝光,模仿多位明星,李宇春那张是认真的?
- 为啥不能靠功能全面模仿的APP来制衡甚至取代一个APP?
- 黄子韬|这位女星才是直男斩,黄子韬表白李现点赞,半藏森林靠模仿她成功
- 随着Bilibili和AcFun之间的实力差距不停的扩大,A站的突围出路有哪些
- 小米社区是否在一定程度上模仿花粉俱乐部客户端
