1. 提取静态网页
1 | import requests |
2. 提取动态网页
1 | from selenium import webdriver |
3. 利用api,读取json返回数据
1 | url='https://api.vc.bilibili.com/link_draw/v2/Doc/index' |
编写H-Viewer时候遇到的问题。
Bilibili-画友
这个是我第一次尝试用api的格式来提取数据,这也是受到了扒图
软件的启发,他给出的例子里面对于这个就是利用了api的格式。
在做这个api的时候基本上没有什么问题,因为这个api也是由扒图
软件已经基本上写好的。关键是我想实现评论的功能,本来也是利用Chrome进行抓包获取api,后来我认为会不会是自带的抓包软件并不是很好,所以得到的api并不是真实的api。原因在于我直接复制他写出来的api,得到的是“非常抱歉,该页面暂时无法访问”。所以在这个地方我就一直卡了好久。
后来下载了Fillder软件之后仍然仅有这样的一个地址。是在没办法我返回的api地址直接百度一下,就搜到了这篇文章,对B站各种数据进行抓包分析。里面提到了不要js参数,就可以了。他也说了直接打开肯定打不开。
我还以为是要去掉js参数,其实是一个防跨域操作,在这篇文章说明了要复制到浏览器中打开就行了。
发现还是不行,B站主站看视频之后的评论的话到时真的可以,调用一下api,然后根据文章删除部分。例如
1 | https://api.bilibili.com/x/v2/reply?callback=jQuery17208515931759409758_1589506408699&jsonp=jsonp&pn=1&type=1&oid=370658779&sort=2&_=1589506410438 |
但是网上百度了一下还是不知道怎么处理B站画友的api