【Python爬虫】论坛发图辅助脚本
因为有些论坛发帖手动插入网络图片太费时间{:10_247:} ,所以我自己用Python爬虫写了一个小脚本,用来自动上传图片到图床,然后返回链接,我们只需直接复制链接就可以啦。因为不同图床需要提交的POST表单不一致,所以在这里我用ImgURL图床做示范,如果大家有需求,可自行修改代码。
使用脚本的时候,我们只需把需要上传的图片和这个脚本放在同一个文件夹中,然后运行脚本,稍作等待,看到提示时就可以在脚本运行文件夹中发现一个名为“图片链接.txt”的文件,里面就是图片链接啦!
# -- coding:UTF-8 --
import requests
import os
import glob
def get(filename):
url = "https://www.imgurl.org/upload/aws_s3"
files = {'file': open(filename, 'rb')}
data = {'file': files}
headers = {
'User-Agent':
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
}
response = requests.post(url, files=files, data=data, headers=headers)
json = response.json()
return "%s" % (json['url'])
filelist = []
filelist.extend(glob.glob(os.path.join("./", "*.jpg")))
filelist.extend(glob.glob(os.path.join("./", "*.png")))
filelist.extend(glob.glob(os.path.join("./", "*.webp")))
filelist.extend(glob.glob(os.path.join("./", "*.jpeg")))
# 以上内容可自行修改,将代码中的后缀名修改一下就可以匹配更多你想要的文件名啦!
f = open('图片链接.txt', 'a')
f.write("Markdown:\n")
for pictures in filelist:
f.write("![](%s)\n" % get(pictures))
f.write("\n\n\nBBcode:\n")
for pictures in filelist:
f.write("%s\n" % get(pictures))
f.close()
print("链接已生成,请在脚本所在文件夹中找到名为“图片链接.txt”的文件,里面就是图片链接啦!")
开源地址:https://github.com/yunlongzhuhuo/pictures-uploader,大家可以去支持一下{:10_256:} (厚脸皮{:10_297:} )
效果如下:
请教一下大佬,通过代码,找到了原理。但是同原理却在https://imgbb.com/不适用,望指点!{:10_254:} 本帖最后由 云龙烛火 于 2022-8-20 17:14 编辑
青出于蓝 发表于 2022-8-19 18:56
请教一下大佬,通过代码,找到了原理。但是同原理却在https://imgbb.com/不适用,望指点!
我看了一下,source就是上传的图片,type和action都是固定的,timestamp大概是时间戳,那个auth_token我真不太清楚{:10_266:}
PS:不用叫我大佬了,我就是个初中生{:10_256:},会一点点python而已{:10_245:} 真棒 青出于蓝 发表于 2022-8-19 18:56
请教一下大佬,通过代码,找到了原理。但是同原理却在https://imgbb.com/不适用,望指点!
要是知道auth_token就能像我的帖子那样post了 青出于蓝 发表于 2022-8-19 18:56
请教一下大佬,通过代码,找到了原理。但是同原理却在https://imgbb.com/不适用,望指点!
感谢版主推荐{:10_257:}{:10_254:} 云龙烛火 发表于 2022-8-20 21:08
要是知道auth_token就能像我的帖子那样post了
明白了,谢谢~ {:10_281:} {:5_107:}{:5_107:}{:5_107:}{:5_107:} 厉害呀 厉害啦 Jinvador 发表于 2022-8-24 19:23
有什么事吗{:10_257:}
页:
[1]