百度网盘分享链接抓取原理 那些网盘搜索是如何是现实的

浏览:6258 发布日期:2018/09/05 分类:技术分享 关键字: 百度云 盘搜

首先我们先得学会伪造请求头
这个知识可以看我之前发的文章
http://note.pc.chaoxing.com/note/noteDetail/7cf435fea4872e62
我们想象一下,网站后台是如何知道用户是否登录的呢,一般人都会说通过判断seesion,大家都知道session在服务器上存储,那么当有很多用户时,服务器就会有很多session,那么服务器怎么知道一个session是来自哪个用户的呢,所以肯定是用户给服务器发数据了,这样服务器就知道这个用户使用的是哪个session了,而事实上这个数据就是保存在用户端的某个cookie值,所以只要我们发请求时告诉服务器你是用哪个session,服务器就回去找,看这个session存在不,如果存在那么恭喜你,你已经通过服务器验证了。
就利用这个原理,当我们登录百度网盘网页版,登录成功后会发现,多了一些cookie变量,我们只要请求百度网盘的数据时带上这些变量,那么我们就直接跳过登录了,
下面是cookie内容 打开网页调试工具,找到network 刷新页面就可以看到所有请求,随便点击一个请求就可以看到这个请求头信息,我们可以找到请求头中带有一个cookie,这个就是客户端和服务器打交道的信物, 如图


我们只需要使用这个cookie向服务器发送请求就可以跳过登录了,因为服务器会认为你已经登录了。
下面我们就可以去爬去百度网盘分享链接了
由于前段时间一些事件的原因
只是事件链接
https://www.wdzj.com/hjzs/ptsj/20171114/118725-1.html
,百度对网盘限制了很多,例如一个用户无法查看别人分享主页里的内容,
我们只能从自己的个人分享页面抓取,一位你在自己的分享主页是可以看到你关注的用户的分享内容的,我们先找一些爱分享的用户加上关注,这样我们的个人分享空间里,就有了很多分享内容了,
在个人分享页面我们能通过
这个接口抓取分享链接
https://pan.baidu.com/pcloud/feed/getdynamiclist?auth_type=1&filter_types=11000&query_uk=2753127572&category=0&limit=50&start=0&bdstoken=553cf4aea600d821fc0e3407a87a9c8e&channel=chunlei&clienttype=0&web=1&logid=MTUzNjEwOTY5NDM0MzAuNDg3MzUwNjgzMzE1OTQyNDU=
其中
auth_type 默认不用管
filter_types,可以取10000,11000 ,01000,是对分享内容的筛选条件 对应着主页中的全部 其他

query_uk 这个不要改这个就是自己的用户id独一无二
category 就是分类返回数据
limit 就是每次取的条数,最高150条
start就是一个分页功能,表示从第几条开始取

后面的参数不用变就行了
这样就可以返回到百度分享的json

所以我们只需要编写一个程序,不停的加关注,然后不停的爬取分享主页的内容就可以了
图片无法显示

原文链接
http://note.pc.chaoxing.com/note/noteDetail/71f667d9689f00bb
最佳答案
评论( 相关
后面还有条评论,点击查看>>