import requests
import re
import argparse
import sys
import json
import osparser = argparse.ArgumentParser()
parser.add_argument("url", help="Target Url,你所需要文档的URL",type=str)
parser.add_argument('type', help="Target Type,你所需要文档的的类型(DOC|PPT|TXT|PDF)",type=str)
args = parser.parse_args()url = args.url
type = args.type#根据文件决定函数
y = 0
def DOC(url):doc_id = re.findall('view/(.*).html', url)[0]html = requests.get(url).textlists=re.findall('(https.*?0.json.*?)\\\\x22}',html)lenth = (len(lists)//2)NewLists = lists[:lenth]for i in range(len(NewLists)) :NewLists[i] = NewLists[i].replace('\\','')txts=requests.get(NewLists[i]).texttxtlists = re.findall('"c":"(.*?)".*?"y":(.*?),',txts)for i in range(0,len(txtlists)):global yprint(txtlists[i][0].encode('utf-8').decode('unicode_escape','ignore'))if y != txtlists[i][1]:y = txtlists[i][1]n = '\n'else:n = ''filename = doc_id + '.txt'with open(filename,'a',encoding='utf-8') as f:f.write(n+txtlists[i][0].encode('utf-8').decode('unicode_escape','ignore').replace('\\',''))print("文档保存在"+filename)def PPT(url):doc_id = re.findall('view/(.*).html',url)[0]url = "https://wenku.baidu.com/browse/getbcsurl?doc_id="+doc_id+"&pn=1&rn=99999&type=ppt"html = requests.get(url).textlists=re.findall('{"zoom":"(.*?)","page"',html)for i in range(0,len(lists)):lists[i] = lists[i].replace("\\",'')try:os.mkdir(doc_id)except:passfor i in range(0,len(lists)):img=requests.get(lists[i]).contentwith open(doc_id+'\img'+str(i)+'.jpg','wb') as m:m.write(img)print("PPT图片保存在" + doc_id +"文件夹")def TXT(url):doc_id = re.findall('view/(.*).html', url)[0]url = "https://wenku.baidu.com/api/doc/getdocinfo?callback=cb&doc_id="+doc_idhtml = requests.get(url).textmd5 = re.findall('"md5sum":"(.*?)"',html)[0]pn = re.findall('"totalPageNum":"(.*?)"',html)[0]rsign = re.findall('"rsign":"(.*?)"',html)[0]NewUrl = 'https://wkretype.bdimg.com/retype/text/'+doc_id+'?rn='+pn+'&type=txt'+md5+'&rsign='+rsigntxt = requests.get(NewUrl).textjsons = json.loads(txt)texts=re.findall("'c': '(.*?)',",str(jsons))print(texts)filename=doc_id+'.txt'with open(filename,'a',encoding='utf-8') as f:for i in range(0,len(texts)):texts[i] = texts[i].replace('\\r','\r')texts[i] = texts[i].replace('\\n','\n')f.write(texts[i])print("文档保存在" + filename)def PDF(url):doc_id = re.findall('view/(.*).html',url)[0]url = "https://wenku.baidu.com/browse/getbcsurl?doc_id="+doc_id+"&pn=1&rn=99999&type=ppt"html = requests.get(url).textlists=re.findall('{"zoom":"(.*?)","page"',html)for i in range(0,len(lists)):lists[i] = lists[i].replace("\\",'')try:os.mkdir(doc_id)except:passfor i in range(0,len(lists)):img=requests.get(lists[i]).contentwith open(doc_id+'\img'+str(i)+'.jpg','wb') as m:m.write(img)print("FPD图片保存在" + doc_id + "文件夹")if __name__ == "__main__":try:print("""
###Athor:52pojie
###TIPS:PDF|PPT只能下载图片""")eval(type.upper())(url)except:print("获取出错,可能URL错误\n使用格式name.exe url type\n请使用--help查看帮助")

如果有更好的接口可以在评论下面提供,感谢各位的支持!

另外分享自己做的,爬取专利技术的文章库:http://zhimo.yuanzhumuban.cc/blog/

百度文库API免费下载百度文库收费资料【python】相关推荐

  1. 帅某---技巧---如何免费下载百度文库、豆丁文库等其他文库的vip或者付费文章(不看后悔)?????

    如何免费下载百度文库.豆丁文库等其他文库的vip或者付费文章????? 前些天狂bilibili的一些常识小技巧视频时候发现一个介绍免费试用百度文库.豆丁文库等各种文库各种付费.VIP文章的方法,后来 ...

  2. 免费下载百度文库的资源的解决办法

    首先,下载卷这种东西可以通过做任务获得,当然本文介绍一种免费下载百度文库资源的方式: 1. 打开微信工作号,关注 "文库免费下载"公众号 2. 进入公众号,查看历史消息记录,寻找最 ...

  3. Keil.STM32F4xx_DFP.2.15.0.pack百度网盘免费下载

    百度网盘免费下载: 链接:https://pan.baidu.com/s/19wbXhass5mS8xbyHUoegQQ 提取码:s2dm

  4. 亲测有效解决“你已购买过此项目,现在可以免费下载,不再另外收费”提示

    有时候在苹果app store下载应用,会跳出来提示"你已购买过此项目,现在可以免费下载,不再另外收费",然后怎么按都下载不了,本人在网络上搜集了一下方法,测试成功解决问题. 原因 ...

  5. 百度地图API制作类似 百度地图的路线导航界面并实现简单的路线规划功能

    之前我们讲了怎么在百度地图上设置Marker(如A点..) 和弹出框(跟随Marker的,Marker移动的时候也是会跟着移动的),接着又觉得百度地图自带的放大缩小不(fei)是(chang)很(de ...

  6. 安卓学习专栏——百度地图(1)获取SHA1指纹申请百度地图API Key使用百度LBS定位功能(图文保姆级)

    步骤 系列文章 前言 1.前期准备 2.创建应用 3.获取发布版SHA1和开发版SHA1 3.1找到.android文件夹位置 3.2Android Studio的Terminal中cd路径 3.3输 ...

  7. 学习笔记100—强制免费下载 百度文库等网站上文档 以及客道巴巴文档 教程

    一.百度文库,豆丁.丁香.畅享.MBALib.Book118等文库文档下载 用冰点软件,将自己想要下载的链接复制到冰点软件中,即可下载,软件下载链接:http://www.bingdian001.co ...

  8. js预览本地word文档_怎么免费下载百度文库付费文档?

    我们都知道百度文库中的Word文档,免费的少,大部分是需要下载券的,或者需要开通vip才能下载的!而这些券和vip都是需要钱买的,那我们有什么办法,能任意使用.下载需要的文档呢?下面我来分享一下我的方 ...

  9. 如何免费下载百度文库文章的三种方法

    百度文库中的资源很丰富,但那里的文章不能复制,而且有的要下载币.给 大家总结下免费下载复制百度文库的三种方法. 第一种 利用百度快照.我们在百度文库中找到自己想要的文章后,直接把那篇文章的地址复制, ...

  10. linux 百度云 备份软件下载,百度云存储api实现文件分享及linux下的备份上传

    这次讲解下,百度网盘的api使用方法,一个让我们可以把linux上的文件传到一个强大又免费的空间上... 为啥会研究这个? 偶然,一定是偶然.要是想从服务器里面把东西传出来,反正就是把东西搞出来.以前 ...

最新文章

  1. OpenStack 2018 年终盘点
  2. AndroidRichText 让Textview轻松的支持富文本(图像ImageSpan、点击效果等等类似QQ微信聊天)...
  3. java 令牌解析_Java编程guava RateLimiter实例解析
  4. 【一遍过!!!】1014 Waiting in Line (30 分)(题意+分析)
  5. VC++和VC++.NET中与图像处理有关的几个概念、结构和类
  6. ubuntu11.04正式版下载地址
  7. t检验的p值对照表_统计学|各类统计检验方法大汇总
  8. ASP.NET MVC多语言 仿微软网站效果(转)
  9. 获取当前目录下所有文件的文件名
  10. session保存密码_年薪百万之路--第六十四天 Cookie操作与session操作
  11. 探讨一个好算法——找出一百万个数字中十个最大数字的算法
  12. 【转载】动态载入DLL所需要的三个函数详解(LoadLibrary,GetProcAddress,FreeLibrary)...
  13. IPSEC 004 ---- 模板海纳百川,不定对端有容乃大
  14. linux使用du命令查看文件夹大小(磁盘使用情况)
  15. OTA分类 OTA升级方式(乒乓、压缩、差分)
  16. 基于Docker部署OpenLDAP,同时集成第三方系统(GitLab、JIRA、Nexus、Harbor)
  17. Ubuntu 桌面死机后重启桌面方法
  18. Verilog HDL 总结(1)
  19. Hadoop-kms总结
  20. python基于PHP+MySQL的连锁酒店管理系统

热门文章

  1. Ascll码表分析总结
  2. 怎么下载全国水系图层
  3. 四叶草Clover引导界面的快捷键大全
  4. Map集合遍历的四种方式
  5. spotify电脑下载歌曲_我来简单说一下Apple Music和Spotify的下载方法
  6. AD9361 补充(中)
  7. 腾讯电脑管家具有计算机病毒查杀功能,腾讯电脑管家算杀毒软件吗_腾讯电脑管家不仅仅是杀毒软件-高达阁杀毒软件站...
  8. Android主备域名切换实施方案(Ping工具Demo)
  9. 画手机原型图工具推荐
  10. 网络安全——C段扫描