云龙烛火 发表于 2022-8-13 20:57:04

【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:} )

效果如下:

青出于蓝 发表于 2022-8-19 18:56:03

请教一下大佬,通过代码,找到了原理。但是同原理却在https://imgbb.com/不适用,望指点!{:10_254:}

云龙烛火 发表于 2022-8-20 17:12:42

本帖最后由 云龙烛火 于 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:}

aaron0919 发表于 2022-8-20 19:58:46

真棒

云龙烛火 发表于 2022-8-20 21:08:01

青出于蓝 发表于 2022-8-19 18:56
请教一下大佬,通过代码,找到了原理。但是同原理却在https://imgbb.com/不适用,望指点!

要是知道auth_token就能像我的帖子那样post了

云龙烛火 发表于 2022-8-20 21:08:43

青出于蓝 发表于 2022-8-19 18:56
请教一下大佬,通过代码,找到了原理。但是同原理却在https://imgbb.com/不适用,望指点!

感谢版主推荐{:10_257:}{:10_254:}

青出于蓝 发表于 2022-8-21 07:41:24

云龙烛火 发表于 2022-8-20 21:08
要是知道auth_token就能像我的帖子那样post了

明白了,谢谢~

Jinvador 发表于 2022-8-21 10:51:11

{:10_281:}

柯西不收敛 发表于 2022-8-21 23:17:06

{:5_107:}{:5_107:}{:5_107:}{:5_107:}

kongminghui 发表于 2022-8-22 10:34:26

厉害呀

wjf未完待续zyc 发表于 2022-8-22 11:37:22

厉害啦

云龙烛火 发表于 2022-8-24 20:43:03

Jinvador 发表于 2022-8-24 19:23


有什么事吗{:10_257:}
页: [1]
查看完整版本: 【Python爬虫】论坛发图辅助脚本