QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

主题

帖子

荣誉

新鱼友

Rank: 1

积分
58
查看: 1710|回复: 188

[作品展示] 百度文库爬虫(爬取需要下载券的文档)

  [复制链接]
最佳答案
0 
累计签到:19 天
连续签到:12 天
YuGuii 发表于 2018-6-4 14:27:32 1710188 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
大家好,我是于归,我又不要脸的来了。。。。。
今天给大家带来的是一个百度文库的爬虫,话不多说,自己看图,源文件在最后贴出来
工作环境为  Python3.6   有的人运行以后会出现 ModuleNotFoundError: No module named 'requests' 的错误,那是因为你没有安装 requests的库,至于怎么安装百度一下吧。。。做起来简单,说起来麻烦,告辞告辞。。。。。。
***************************************************************************
如下图所示:发现一篇很帅的甲鱼饲养攻略,好开心,要下载下来仔细研究,定睛一看,我滴个乖乖,我没有下载券怎么办好呢?问题不大,趴下来不就OK了吗!

TIM截图20180604141618.jpg

然后我们打开pycharm,随便打一段代码,运行一下,OK。。。。就是这么简单
甲鱼.jpg


你是猪吗????赶紧把代码给我们交出来,不然分分钟放甲鱼咬死你好吗???
OJBK。。。。。我给还不成吗。。。。真的是一群暴躁老哥,你们不会都是戒毒吧大哥吧。。。。。

游客,如果您要查看本帖隐藏内容请回复

评分

参与人数 2荣誉 +10 鱼币 +10 贡献 +6 收起 理由
冷小漠 + 5 + 5 + 3 鱼C有你更精彩^_^
膜法记者 + 5 + 5 + 3 支持楼主!

查看全部评分

楼层
跳转到指定楼层
最佳答案
1 
累计签到:87 天
连续签到:1 天
冷小漠 发表于 2018-6-10 14:49:24 | 显示全部楼层
看了楼主的代码,总结了一下思路:

百度文库比较特殊,虽然抓包可以抓得到,但是文章的api很难逆向,至少我不行。。。
楼主提供了一个很好的思路,就是简单粗暴的正则表达式匹配百度文库js自己生成的api地址,再用改地址请求真正的文章内容

1. 获得某篇文章的url之后,下载该url对应的网页数据,在该网页数据中含有真正文章的地址
  1. WkInfo.htmlUrls = '{\x22ttf\x22:[{\x22pageIndex\x22:1,\x22param\x22:\x22&md5sum=2247898bde5831aa14cb0ff6976d581d&range=0-35283&sign=865b03efea\x22},{\x22pageIndex\x22:2,\x22param\x22:\x22&md5sum=2247898bde5831aa14cb0ff6976d581d&range=35284-&sign=865b03efea\x22}],\x22json\x22:[{\x22pageIndex\x22:1,\x22pageLoadUrl\x22:\x22https:\\\/\\\/wkbos.bdimg.com\\\/v1\\\/docconvert3256\\\/\\\/wk\\\/2247898bde5831aa14cb0ff6976d581d\\\/0.json?responseCacheControl=max-age%3D3888000&responseExpires=Wed%2C%2025%20Jul%202018%2013%3A45%3A30%20%2B0800&authorization=bce-auth-v1%2Ffa1126e91489401fa7cc85045ce7179e%2F2018-06-10T05%3A45%3A30Z%2F3600%2Fhost%2F3b600f217b1607544a7cce957b88c84d7d3ca5422dae74a2510f25a24335d268&x-bce-range=0-18105&token=b60d225474165f8613deafe1cbf02f87c4b17bfcc15b158c736120600be7f600&expire=2018-06-10T06:45:30Z\x22},{\x22pageIndex\x22:2,\x22pageLoadUrl\x22:\x22https:\\\/\\\/wkbos.bdimg.com\\\/v1\\\/docconvert3256\\\/\\\/wk\\\/2247898bde5831aa14cb0ff6976d581d\\\/0.json?responseCacheControl=max-age%3D3888000&responseExpires=Wed%2C%2025%20Jul%202018%2013%3A45%3A30%20%2B0800&authorization=bce-auth-v1%2Ffa1126e91489401fa7cc85045ce7179e%2F2018-06-10T05%3A45%3A30Z%2F3600%2Fhost%2F3b600f217b1607544a7cce957b88c84d7d3ca5422dae74a2510f25a24335d268&x-bce-range=18106-&token=b60d225474165f8613deafe1cbf02f87c4b17bfcc15b158c736120600be7f600&expire=2018-06-10T06:45:30Z\x22}],\x22png\x22:[{\x22pageIndex\x22:1,\x22pageLoadUrl\x22:\x22https:\\\/\\\/wkbos.bdimg.com\\\/v1\\\/docconvert3256\\\/\\\/wk\\\/2247898bde5831aa14cb0ff6976d581d\\\/0.png?responseCacheControl=max-age%3D3888000&responseExpires=Wed%2C%2025%20Jul%202018%2013%3A45%3A30%20%2B0800&authorization=bce-auth-v1%2Ffa1126e91489401fa7cc85045ce7179e%2F2018-06-10T05%3A45%3A30Z%2F3600%2Fhost%2Ff019623704c4d40895636a821d422e588f4843e0f007709d51eb75180696b573&x-bce-range=0-518&token=7276583f9571ef22b7465eb0b96fd1ef5a576fd7ee28b4d7f67b4bbcfc9e432d&expire=2018-06-10T06:45:30Z\x22},{\x22pageIndex\x22:2,\x22pageLoadUrl\x22:\x22https:\\\/\\\/wkbos.bdimg.com\\\/v1\\\/docconvert3256\\\/\\\/wk\\\/2247898bde5831aa14cb0ff6976d581d\\\/0.png?responseCacheControl=max-age%3D3888000&responseExpires=Wed%2C%2025%20Jul%202018%2013%3A45%3A30%20%2B0800&authorization=bce-auth-v1%2Ffa1126e91489401fa7cc85045ce7179e%2F2018-06-10T05%3A45%3A30Z%2F3600%2Fhost%2Ff019623704c4d40895636a821d422e588f4843e0f007709d51eb75180696b573&x-bce-range=519-&token=7276583f9571ef22b7465eb0b96fd1ef5a576fd7ee28b4d7f67b4bbcfc9e432d&expire=2018-06-10T06:45:30Z\x22}]}'
复制代码

2. 使用正则表达式取得该文章的地址,可能不止一个
  1. https://wkbos.bdimg.com/v1/docconvert3256//wk/2247898bde5831aa14cb0ff6976d581d/0.json?responseCacheControl=max-age%3D3888000&responseExpires=Wed%2C%2025%20Jul%202018%2013%3A45%3A30%20%2B0800&authorization=bce-auth-v1%2Ffa1126e91489401fa7cc85045ce7179e%2F2018-06-10T05%3A45%3A30Z%2F3600%2Fhost%2F3b600f217b1607544a7cce957b88c84d7d3ca5422dae74a2510f25a24335d268&x-bce-range=0-18105&token=b60d225474165f8613deafe1cbf02f87c4b17bfcc15b158c736120600be7f600&expire=2018-06-10T06:45:30Z
复制代码

3. 使用文章的地址再次向服务器请求,获得文章的数据,但是此时并不是文章的内容,是一个json结构的数据集

数据集与正则结果

数据集与正则结果

4. 看到这个数据集我头皮发麻,不知道楼主是经历过怎样的绝望才能将其解析出来,辛苦了。。。
5. 该数据集是基于百度文库自己的阅读器生成的,其中包含了非常多的信息,文章内容就在其中,以五维的位置参数,标明内容出现的位置
  1. {"c":"\\u897f\\u534e\\u5bb6\\u4ff1\\u6709\\u9650\\u516c\\u53f8","p":{"h":24.977,"w":168.29,"x":257.79,"y":111.534,"z":210}
复制代码

比如现在这样,内容就是 c 这一串的Unicode编码,p 就是其位置参数什么高啊宽啊
6. 最后就是楼主根据 y 的数值简单排列整个文档,解码保存

不得不说,楼主真的很牛X ,看完之后觉得不难,但是不看楼主的解析方法,我拿到数据集就是一脸懵逼,wtf??!

PS:谢谢楼主
最佳答案
0 
累计签到:3 天
连续签到:1 天
nhl123 发表于 2018-6-4 14:30:20 From FishC Mobile | 显示全部楼层
gg
最佳答案
0 

尚未签到

eleven_hz 发表于 2018-6-4 14:31:00 | 显示全部楼层
最佳答案
2 
累计签到:210 天
连续签到:2 天
zhangxiuyuxzg 发表于 2018-6-4 15:50:58 | 显示全部楼层
可以可以,正好需要!
最佳答案
0 
累计签到:79 天
连续签到:1 天
小庆子 发表于 2018-6-4 17:54:24 | 显示全部楼层
可爱的楼主 (放甲鱼ing)
最佳答案
46 
累计签到:9 天
连续签到:2 天
chakyam 发表于 2018-6-4 20:13:10 From FishC Mobile | 显示全部楼层
看看
最佳答案
0 
累计签到:7 天
连续签到:1 天
爱捣蛋的小黑鱼 发表于 2018-6-4 20:24:29 | 显示全部楼层
老甲鱼  就是不一样收藏了收藏了
最佳答案
0 
累计签到:1 天
连续签到:1 天
花开半夏さぎ 发表于 2018-6-5 10:41:50 | 显示全部楼层
最佳答案
0 

尚未签到

rocciares 发表于 2018-6-5 11:12:20 | 显示全部楼层
赶紧给我代码,麻溜的,再不给..炖汤
最佳答案
0 
累计签到:19 天
连续签到:6 天
折木奉 发表于 2018-6-5 12:35:16 | 显示全部楼层
学习一下
最佳答案
0 
累计签到:37 天
连续签到:35 天
djl15730202258 发表于 2018-6-5 15:35:06 From FishC Mobile | 显示全部楼层
666大佬,学习一下
最佳答案
0 

尚未签到

晨鱼one 发表于 2018-6-5 19:46:02 From FishC Mobile | 显示全部楼层
看看
最佳答案
0 
累计签到:4 天
连续签到:2 天
Drakin 发表于 2018-6-5 20:26:20 | 显示全部楼层
交出你的代码来
最佳答案
0 
累计签到:73 天
连续签到:6 天
谁与争锋 发表于 2018-6-6 05:53:51 | 显示全部楼层
学习
最佳答案
0 

尚未签到

ntsky 发表于 2018-6-6 14:53:37 | 显示全部楼层
学习一下爬虫文档
最佳答案
0 
累计签到:1 天
连续签到:1 天
小暖心 发表于 2018-6-6 15:29:24 | 显示全部楼层
厉害
最佳答案
0 
累计签到:1 天
连续签到:1 天
jgmhmtdh 发表于 2018-6-6 16:31:26 | 显示全部楼层
初来乍到,请大家多多关照
最佳答案
0 
累计签到:1 天
连续签到:1 天
1475890837 发表于 2018-6-6 18:08:47 | 显示全部楼层
最佳答案
0 

尚未签到

ssjuji 发表于 2018-6-6 21:20:14 | 显示全部楼层
谢谢分享,哈哈
最佳答案
0 

尚未签到

yjc6296 发表于 2018-6-6 22:02:02 | 显示全部楼层
1122

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /1 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.3 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2018-6-21 06:50

快速回复 返回顶部 返回列表