下百度文库要券?来用 Python 自动下!

教你用 Python 爬取 Baidu 文库全格式文档! 考虑到现在大部分小伙伴使用 Python 主要因为爬虫,那么为了更好地帮助大家巩固爬虫知识,加深对爬虫的理解,选择了爬取百度文库作为我们的目标。 废话不多说,我们开始。 TXT、DOCX 爬取与保存 在爬取任何东西之前,我们都要先确认需要爬取的数据是不是异步加载的;如果是异步加载的直接爬取网页是爬不到的。 要知道是不是异步加载其实很简单,就用requests 对网页发起请求,看看 response 是什么就可以了 url = 'https://wenku.baidu.com/view/4 阅读详情

80行代码打造微信机器人实现下载百度文库

 

 

 

Python资源共享群:484031800

一

一

简述

生活当中免不了要下载百度文库,但是百度很恶心的是要下载券,收费呀啥的(这次的这个不能下载收费文档哦),所以我就在微信的搜索功能(非常强大)上搜怎么样免费下载百度文库,加了一些群,其中一个群就是有一个有专门的机器人,只要你往群里发链接,机器人自动回复你下载链接

首先我在csdn上查阅相关资料群机器人的文章,明白Python关于群机器人有两大类,QQ群用qqbot库(基于smartqq),微信群用itchat库(基于微信网页版)。但是腾讯已经把smartQQ关了(也就 是不能通 过qqbot来制作QQ群机器人),只能建一个微信群机器人

制作思路:

1、通过itchat登录微信,实时监听所要建的群消息,假如有人发文库链接,将链接提取出来(比较简单)

2、将所提取到的文库连接保存,然后请求下载网站,网站返回下载链接(这个还得要自己去抓包,去慢慢分析,我也是花了一整天才把他整个下载流程弄懂,很麻烦,今天我们重点讲这个,你们可以拿其他网站试试,亲测这个链接很长,我用到了百度的短连接,为了本帖不冗长,省去不讲)

3、将网站返回的链接发送给相应的群,并@相应的人(比较简单)

这个网站链接是:http://139.224.236.108/1.html(免费给他打了一波广告把,这个网站是收费的,下载的文档也是源文档,买账号也就几块钱,但是每个账号每天会限制下载次数,但是你可以多买几个账号,当一个被限制了之后,遍历其他账号,这样就OK了,其实下载文档这个不是经常下,但是有需求的时候没有下载券就麻烦了,为了兄弟们更好的复现,我把我买的账号分享给大家)

三

详细

 

 

 

 

在百度文库上随便获取一个要下载券的文档链接,

点击下载之后又是一波抓包,发送了请求post和nocode

跳转到如下界面:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

再点击这个下载,又发送了一个请求具体见下面的down(),就不再过多讲了直接上代码:

import requests
    firsturl=input('请输入文档链接:')
    # 以下用到了两个链接,一个是查询文档ID的,另一个是下载的
    url1 = "http://139.224.236.108/post.php"
    url3 = "http://139.224.236.108/downdoc.php"
    # 将传入的文档链接进行转化
    downloadurl = firsturl.replace("/", "%2F").replace(":", "%3A")
    # head1查询文档ID的数据头
    # data1是查询的数据内容,其中将docinfo的值转化为链接
    # 查询得到结果,截取id的那一段并返回
    def query():
        head1 = {"POST": "/post.php HTTP/1.1",
             "Host": "139.224.236.108",
             "Content-Length": "145",
             "Accept": "*/*",
             "Origin": "http://139.224.236.108",
             "X-Requested-With": "XMLHttpRequest",
             "User-Agent": "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36",
             "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
             "Referer": "http://139.224.236.108/1.html",
             "Accept-Encoding": "gzip, deflate",
             "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8",
             "Cookie": "usrname=901961495; usrpwd=559448"
             }
        data1 = 'usrname=901961495&usrpass=559448&docinfo=downloadurl&taskid=up_down_doc1'
        data1 = data1.replace('downloadurl', downloadurl)
        respons = requests.post(url1, data=data1, headers=head1).json()
        id = respons['url']
        id = id[37:]
        return id
    id = query()
    # head3下载文档的数据头
    # data3是请求下载的数据内容,其中vid是查询内容返回的文档id值
    # 获取下载链接
    def down():
        Referer = "http://139.224.236.108/nocode.php?id={docid}"
        head3 = {"POST": "/downdoc.php HTTP/1.1",
             "Host": "139.224.236.108",
             "Content-Length": "54",
             "Accept": "*/*",
             "Origin": "http://139.224.236.108",
             "X-Requested-With": "XMLHttpRequest",
             "User-Agent": "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36",
             "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
             "Referer": Referer.format(docid=id),
             "Accept-Encoding": "gzip, deflate",
             "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8",
             "Cookie": "usrname=901961495; usrpwd=559448"
             }
        data3 = 'vid={docid}&taskid=directDown'
        data3 = data3.format(docid=id)
        response = requests.post(url3, data=data3, headers=head3).json()
        downurl = response["dlink"].replace("\\", '')
        print(downurl)#点击这个URL,会自动下载文件哦
        return downurl
query()
down()

上面可以实现一个独立的下载,但是如果我们要和微信联系起来,制作微信机器人,那么,我们可以把上面的query(),down(),弄成一个函数,传入一个链接,经过这个函数处理,返回下载地址,到时候直接调用这个函数即可

接下来就是登陆微信,监控对应的群,放在服务器上,你就可以打造出24小时下载的机器人了。

实现代码:

@itchat.msg_register([itchat.content.TEXT], isGroupChat=True)  # 注册一个群消息的处理
def print_content(msg):
    if msg.User["NickName"] == qun:# 这里可以在后面加更多的or msg.User["NickName"]=='你希望自动回复群的名字
        if str(msg['Text'][0:5])=="https":#检测所发的消息是不是链接,是通过前5个
            huifubdwk= GET_SHORTURL(str(msg['Text']))#这个GET_SHORTURL是我上面所说的那个函数,我自己定义的
            print(msg.User['NickName'] + ":" + msg['Text'] )  # 打印哪个群给你发了什么消息
            print("%s+\n"%huifubdwk)  # 打印机器人回复的消息
            itchat.send(u'@%s\u2005 %s' % (msg['ActualNickName'],huifubdwk), msg['FromUserName'])
        else:# 不是链接直接忽略
            print(msg['Text'])
    else:#不是相应群直接忽略
        pass

好了,今天到这就结束了

四

软件测试

 

 

 

 

只要把文库链接甩进去,机器人就会自动返回下载地址,爽歪歪。

Python百度文库爬虫之ppt文件 Python百度文库爬虫之ppt文件 对于文件的所有类型,我都会用一篇文章进行说明,链接: Python百度文库爬虫之txt文件 Python百度文库爬虫之doc文件 Python百度文库爬虫之pdf文件 Python百度文库爬虫之ppt文件 Python百度文库爬虫之xls文件 一.网页分析 PTT文件的内容实际是图片,我们只需要把图片下载并保存 from IPython.display i... 阅读详情

相关推荐

Python爬取百度文库文档,免费下载所有文档!

通过查找特定的元素,我们可以找到文档的下载链接。然后,我们构造完整的下载链接,并发送下载请求获取文档的内容。在本篇文章中,我们将学习如何使用Python编写一个简单的网络爬虫来下载百度文库中的文档,而无需充值VIP会员。请注意,百度文库可能会对频繁的爬取请求进行限制或阻止。为了避免出现问题,请尊重网站的使用规则,并在进行大量爬取操作时采取适当的措施,例如设置适当的请求间隔或使用代理服务器。首先,我们需要安装所需的库。运行代码后,它将下载并保存指定的文档到本地。替换为你想要下载的文档的URL,将。

HackVibe的博客 1280

当我学会了Python之后,某文库所有文档轻松下载,确定不来薅羊毛吗?

嗨喽~大家好呀,这里是魔王呐 ❤ ~!本账号也发了很多关于python相关的案例教程文章,🧡 关注🧡 评论评论留下你需求, 下一期的文章内容, 由你来定!今天就教大家如何实现 某Bai文库内容获取。

python56123的博客 583

整理的用Python编写的爬虫文档

整理的用Python编写的爬虫文档 [Python]网络爬虫(一):网络爬虫的定义 网络爬虫,即Web Spider,是一个很形象的名字。 把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。 网络蜘蛛是通过网页的链接地址来寻找网页的。 从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址, 然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。

Python教你付费文档免费下载,省出零食钱

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)

隔壁王叔的博客 1545

baiduwenku

百度文库主要文字信息下载,对百度文库网站app进行爬取

python 实现svn文件下载

python 实现svn的代码下载,解决了请求认证,字符编码,地址长度问题。非常不错的例子。

Python百度文库爬虫终极版

百度文库爬虫 Python百度文库爬虫之txt文件 Python百度文库爬虫之doc文件 Python百度文库爬虫之pdf文件 Python百度文库爬虫之ppt文件 Python百度文库爬虫之xls文件 Python百度文件爬虫终极版 我们在开始爬虫之前,首先要了解网页的信息和结构,然后获取请求的url和参数(payloads)来得到所要的数据并处理。接下来我们根据: 一.网页分析 二.爬虫...

V_lq6h的博客 3万+

Python文档

Python语言入门.pdf、python学习笔记.pdf、Python模块使用.pdf

下百度文库要券?来用 Python 自动下

80行代码打造微信机器人实现下载百度文库一简述生活当中免不了要下载百度文库,但是百度很恶心的是要下载券,收费呀啥的(这次的这个不能下载收费文档哦),所以我就在微信的搜索功...

苏克的博客 453

百度文库PDF爬虫

一个基于Python的百度文库爬虫, 主要实现文库pdf文件的下载。

Python实现爬虫从网络上下载文档的实例代码

最近在学习Python,自然接触到了爬虫,写了一个小型爬虫软件,从初始Url解析网页,使用正则获取待爬取链接,使用beautifulsoup解析获取文本,使用自己写的输出器可以将文本输出保存,具体代码如下: Spider_main.py # coding:utf8 from baike_spider import url_manager, html_downloader, html_parser, html_outputer class SpiderMain(object): def __init__(self): self.urls = url_manager.UrlManag

10分钟教你用Python爬取Baidu文库全格式内容

前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 作者:向柯玮,周航 程序猿声 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资料点击即可领取 考虑到现在大部分小伙伴使用Python主要因为爬虫,那么为了更好地帮助大家巩固爬虫知识,加深对爬虫的理解,我们小组选择了爬取百度文库作为我们的大作业。 TXT,DOCX爬取与保存 在爬取任何东西之前,我们都要先确认需要爬取的数据是不是异步加载的。如

人生苦短, 还不用Python? 8022

STM32F103 RTC闹钟唤醒Stop模式的EXTI17中断实现

本文详细介绍了STM32F103如何通过RTC闹钟触发EXTI17中断实现从Stop模式的高效唤醒。针对低功耗应用场景,提供了完整的硬件配置、CubeMX设置及代码实现方案,包括时间格式转换、中断处理和功耗优化技巧,帮助开发者可靠实现定时唤醒功能。

ol78901234的博客 231

教你用 Python 爬取 Baidu 文库全格式文档

考虑到现在大部分小伙伴使用 Python 主要因为爬虫,那么为了更好地帮助大家巩固爬虫知识,加深对爬虫的理解,选择了爬取百度文库作为我们的目标。 废话不多说,我们开始。 TXT、DOCX 爬取与保存 在爬取任何东西之前,我们都要先确认需要爬取的数据是不是异步加载的;如果是异步加载的直接爬取网页是爬不到的。 要知道是不是异步加载其实很简单,就用requests 对网页发起请求,看看 response 是什么就可以了 url = 'https://wenku.baidu.co..

python588的博客 3916

Proteus快速入门(最详细教程)

Proteus 是一款用于嵌入式单片机仿真的软件,用于在打PCB板之前对软件程序和硬件电路的正确性进行仿真验证。1.所以Proteus一般会和Keil软件进行联合仿真,在Proteus中绘制系统的电路图,在Keil软件中编写对应的程序后生成Hex文件。2.Proteus的仿真结果仅供参考,只能在一定程度上验证系统的可能性。实际实物系统还需要进行进一步的调试。以上即为本次分享的Proteus入门教程的全部内容,希望可以能够帮助到各位道友。

ediykk的博客 15万+

吹气压力传感器US6310 US6330调试

更换压力传感器, 从US6310 更换为US6330。 6310有一个准备好引脚,AD转换完成后会给MCU一个脉冲 而6330就没有这个功能,6330这个引脚是用来选择SPI还是I2C接口的。(6330没有复位引脚,内部有POR功能) 因此在实现上是有根本区别的, 其它方面使用的命令也不一样, 6310 A8 A9两条命令,一个命令模块醒来,一个命令模块休眠, 6330只有一条命令AA, 命令模块开始转换。 针对这2个模块作为2种处理方法, 1. 6310,可以设置一...

明天乌儿会歌唱 2023

python可以下载百度文库_Python在线百度文库爬虫(免下载券)

百度文库,文字类型的资源(如txt, doc, pdf),是可以在前端源码分析获取到的,如果能按照规则合理的提取这些文字资源,就可以实现免下载券获取资源.作者完成了百度文库的在线版爬虫,只需提供文库资源页面的url,就可以获取对应的文库资源(免下载券)在线测试地址:http://zhaozhaoli.vicp.io/spider/bdwk效果展示初始界面.png摄影课感想_百度文库_and_方圆小...

weixin_39618275的博客 825

SolidWorks软件安装管理程序在创建该注册表项时遇到错误: UNKNOWN\Components的解决方案

SolidWorks软件安装管理程序在创建该注册表项时遇到错误: UNKNOWN\Components的解决方案

Q82556499的博客 4169

不用下载券也能下载百度文库资料,Python帮你轻松搞定

阅读文本大概需要5分钟。大家可能平时都有在百度文库下载文档的经历,费尽心思好不容易在文库找了一份可以用的资料,一看需要用下载券下载,搞的人很烦。有的人为了节省时间,就任性...

涛哥聊Python 975

如何导入su_利用GIS快速生成SU场地模型

01|前言:进入2021年了,希望大家也是一个新的开始。告诫自己多写文章多更新,多读点书多旅行。然而元旦由于出去玩了4天,积累了一些事情要处理,一直没有时间好好写点东西。今天给大家带来的分享主题叫“利用GIS快速生成SU场地模型”。相关的视频方法其实B站上也有,但我相信视频很多人都不会看,我自己也是。直接给大家上操作流程。主要的操作步骤是【获取场地的矢量shp文件】—【导入ArcScen...

weixin_33806859的博客 9813

C#串口通信上位机开发实战:轻松实现硬件控制与数据交互

摘要:本文介绍如何使用C#开发串口通信上位机应用,实现与硬件设备(如传感器、PLC等)的数据交互。文章涵盖串口通信原理、开发环境配置、功能实现(串口连接管理、数据收发、实时显示)及UI设计,重点讲解SerialPort类的应用、多线程数据接收处理和错误优化。通过Windows Forms构建直观界面,帮助开发者快速掌握工业控制和自动化系统中的串口通信技术,为物联网和智能设备开发提供实用解决方案。全文约150字。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 3029

python爬取百度文库DOC文档的简易脚本

页面分析 我们首先在百度文库随便搜索一片文章,(此脚本只针对DOC文档)打开它,查看源码 我们定位到具体某行文字,可以发现文字都分布在各个标签内部,这时候和我一样初学爬虫的小伙伴会想到用request来获取html源码,用BeautifulSoup进行操作,想法是好的,可是现在的百度文库不是以前,现在的百度文库的反爬手段还是有的,当你request下来后你会发现根本找不到文章中的文字,道高一尺魔...

qq_28837549的博客 5952

【Proteus仿真】点亮小灯系列仿真——小灯闪烁/流水灯/交通灯

本文介绍了基于AT89C51单片机的LED控制案例,共包含5个实例:1)单个LED闪烁;2)共阳极流水灯;3)共阴极流水灯;4)花样流水灯;5)交通灯模拟。每个案例详细说明了电路原理图、接线方式和控制程序实现,其中重点讲解了PWM调光原理及其在LED控制中的应用。案例由简至繁,从基础I/O控制到复杂花样显示,最后实现交通灯逻辑控制,展示了单片机在LED控制中的典型应用方法。文中提供了完整的源代码,便于读者理解和实践。

XU157303764的博客 1883
上一篇: 提升Python效率——用循环机制代替递归函数!
下一篇: Excel不好吗?为什么非要用Python做数据分析!
普通网友
博客等级 码龄7年 438粉丝 263原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值