百度文库API免费下载百度文库收费资料【python】
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】相关推荐
- 帅某---技巧---如何免费下载百度文库、豆丁文库等其他文库的vip或者付费文章(不看后悔)?????
如何免费下载百度文库.豆丁文库等其他文库的vip或者付费文章????? 前些天狂bilibili的一些常识小技巧视频时候发现一个介绍免费试用百度文库.豆丁文库等各种文库各种付费.VIP文章的方法,后来 ...
- 免费下载百度文库的资源的解决办法
首先,下载卷这种东西可以通过做任务获得,当然本文介绍一种免费下载百度文库资源的方式: 1. 打开微信工作号,关注 "文库免费下载"公众号 2. 进入公众号,查看历史消息记录,寻找最 ...
- Keil.STM32F4xx_DFP.2.15.0.pack百度网盘免费下载
百度网盘免费下载: 链接:https://pan.baidu.com/s/19wbXhass5mS8xbyHUoegQQ 提取码:s2dm
- 亲测有效解决“你已购买过此项目,现在可以免费下载,不再另外收费”提示
有时候在苹果app store下载应用,会跳出来提示"你已购买过此项目,现在可以免费下载,不再另外收费",然后怎么按都下载不了,本人在网络上搜集了一下方法,测试成功解决问题. 原因 ...
- 百度地图API制作类似 百度地图的路线导航界面并实现简单的路线规划功能
之前我们讲了怎么在百度地图上设置Marker(如A点..) 和弹出框(跟随Marker的,Marker移动的时候也是会跟着移动的),接着又觉得百度地图自带的放大缩小不(fei)是(chang)很(de ...
- 安卓学习专栏——百度地图(1)获取SHA1指纹申请百度地图API Key使用百度LBS定位功能(图文保姆级)
步骤 系列文章 前言 1.前期准备 2.创建应用 3.获取发布版SHA1和开发版SHA1 3.1找到.android文件夹位置 3.2Android Studio的Terminal中cd路径 3.3输 ...
- 学习笔记100—强制免费下载 百度文库等网站上文档 以及客道巴巴文档 教程
一.百度文库,豆丁.丁香.畅享.MBALib.Book118等文库文档下载 用冰点软件,将自己想要下载的链接复制到冰点软件中,即可下载,软件下载链接:http://www.bingdian001.co ...
- js预览本地word文档_怎么免费下载百度文库付费文档?
我们都知道百度文库中的Word文档,免费的少,大部分是需要下载券的,或者需要开通vip才能下载的!而这些券和vip都是需要钱买的,那我们有什么办法,能任意使用.下载需要的文档呢?下面我来分享一下我的方 ...
- 如何免费下载百度文库文章的三种方法
百度文库中的资源很丰富,但那里的文章不能复制,而且有的要下载币.给 大家总结下免费下载复制百度文库的三种方法. 第一种 利用百度快照.我们在百度文库中找到自己想要的文章后,直接把那篇文章的地址复制, ...
- linux 百度云 备份软件下载,百度云存储api实现文件分享及linux下的备份上传
这次讲解下,百度网盘的api使用方法,一个让我们可以把linux上的文件传到一个强大又免费的空间上... 为啥会研究这个? 偶然,一定是偶然.要是想从服务器里面把东西传出来,反正就是把东西搞出来.以前 ...
最新文章
- OpenStack 2018 年终盘点
- AndroidRichText 让Textview轻松的支持富文本(图像ImageSpan、点击效果等等类似QQ微信聊天)...
- java 令牌解析_Java编程guava RateLimiter实例解析
- 【一遍过!!!】1014 Waiting in Line (30 分)(题意+分析)
- VC++和VC++.NET中与图像处理有关的几个概念、结构和类
- ubuntu11.04正式版下载地址
- t检验的p值对照表_统计学|各类统计检验方法大汇总
- ASP.NET MVC多语言 仿微软网站效果(转)
- 获取当前目录下所有文件的文件名
- session保存密码_年薪百万之路--第六十四天 Cookie操作与session操作
- 探讨一个好算法——找出一百万个数字中十个最大数字的算法
- 【转载】动态载入DLL所需要的三个函数详解(LoadLibrary,GetProcAddress,FreeLibrary)...
- IPSEC 004 ---- 模板海纳百川,不定对端有容乃大
- linux使用du命令查看文件夹大小(磁盘使用情况)
- OTA分类 OTA升级方式(乒乓、压缩、差分)
- 基于Docker部署OpenLDAP,同时集成第三方系统(GitLab、JIRA、Nexus、Harbor)
- Ubuntu 桌面死机后重启桌面方法
- Verilog HDL 总结(1)
- Hadoop-kms总结
- python基于PHP+MySQL的连锁酒店管理系统