首页 » Web前端 » 文库下载php代码技巧_80行代码打造微信机械人实现下载百度文库

文库下载php代码技巧_80行代码打造微信机械人实现下载百度文库

访客 2024-12-15 0

扫一扫用手机浏览

文章目录 [+]

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

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

文库下载php代码技巧_80行代码打造微信机械人实现下载百度文库

我的制作思路:

文库下载php代码技巧_80行代码打造微信机械人实现下载百度文库
(图片来自网络侵删)

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

好了,本日到这就结束了

来源网络,侵权联系删除

私信我或关注微旗子暗记:狮范儿,回答:学习,获取免费学习资源包。

标签:

相关文章

大数据侦办,智慧警务的新篇章

随着科技的飞速发展,大数据时代已经来临。在这个信息爆炸的时代,如何运用大数据技术提升警务效能,成为公安机关关注的焦点。大数据侦办作...

Web前端 2024-12-17 阅读0 评论0

大数据先驱,引领时代变革的智慧之光

在大数据时代,数据已成为国家战略资源,而大数据的兴起离不开一批先驱者的辛勤耕耘。他们以敏锐的洞察力、卓越的智慧和创新精神,引领着大...

Web前端 2024-12-17 阅读0 评论0

大数据分图,引领未来数据处理的革新之路

随着信息时代的飞速发展,数据已经成为推动社会进步的重要力量。大数据作为新时代的产物,其规模之大、类型之多、价值之高,都使得数据处理...

Web前端 2024-12-17 阅读0 评论0