鱼C论坛

 找回密码
 立即注册
查看: 3506|回复: 11

[作品展示] 【Python爬虫】论坛发图辅助脚本

[复制链接]
发表于 2022-8-13 20:57:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
因为有些论坛发帖手动插入网络图片太费时间 ,所以我自己用Python爬虫写了一个小脚本,用来自动上传图片到图床,然后返回链接,我们只需直接复制链接就可以啦。

因为不同图床需要提交的POST表单不一致,所以在这里我用ImgURL图床做示范,如果大家有需求,可自行修改代码。

使用脚本的时候,我们只需把需要上传的图片和这个脚本放在同一个文件夹中,然后运行脚本,稍作等待,看到提示时就可以在脚本运行文件夹中发现一个名为“图片链接.txt”的文件,里面就是图片链接啦!

  1. # -- coding:UTF-8 --
  2. import requests
  3. import os
  4. import glob


  5. def get(filename):
  6.     url = "https://www.imgurl.org/upload/aws_s3"
  7.     files = {'file': open(filename, 'rb')}
  8.     data = {'file': files}
  9.     headers = {
  10.         'User-Agent':
  11.         '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'
  12.     }
  13.     response = requests.post(url, files=files, data=data, headers=headers)
  14.     json = response.json()
  15.     return "%s" % (json['url'])


  16. filelist = []
  17. filelist.extend(glob.glob(os.path.join("./", "*.jpg")))
  18. filelist.extend(glob.glob(os.path.join("./", "*.png")))
  19. filelist.extend(glob.glob(os.path.join("./", "*.webp")))
  20. filelist.extend(glob.glob(os.path.join("./", "*.jpeg")))
  21. # 以上内容可自行修改,将代码中的后缀名修改一下就可以匹配更多你想要的文件名啦!
  22. f = open('图片链接.txt', 'a')
  23. f.write("Markdown:\n")
  24. for pictures in filelist:
  25.     f.write("![](%s)\n" % get(pictures))
  26. f.write("\n\n\nBBcode:\n")
  27. for pictures in filelist:
  28.     f.write("[img]%s[/img]\n" % get(pictures))
  29. f.close()
  30. print("链接已生成,请在脚本所在文件夹中找到名为“图片链接.txt”的文件,里面就是图片链接啦!")
复制代码


开源地址:https://github.com/yunlongzhuhuo/pictures-uploader,大家可以去支持一下 (厚脸皮

效果如下:
截屏2022-08-13 下午8.56.16.png

评分

参与人数 1荣誉 +5 贡献 +5 收起 理由
青出于蓝 + 5 + 5

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-8-19 18:56:03 | 显示全部楼层
请教一下大佬,通过代码,找到了原理。但是同原理却在https://imgbb.com/不适用,望指点!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2022-8-20 17:12:42 | 显示全部楼层
本帖最后由 云龙烛火 于 2022-8-20 17:14 编辑
青出于蓝 发表于 2022-8-19 18:56
请教一下大佬,通过代码,找到了原理。但是同原理却在https://imgbb.com/不适用,望指点!


截屏2022-08-20 下午4.55.17.png
我看了一下,source就是上传的图片,type和action都是固定的,timestamp大概是时间戳,那个auth_token我真不太清楚

PS:不用叫我大佬了,我就是个初中生,会一点点python而已

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +5 收起 理由
青出于蓝 + 5 + 5 + 5 感谢

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-20 19:58:46 | 显示全部楼层
真棒
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-8-20 21:08:01 From FishC Mobile | 显示全部楼层
青出于蓝 发表于 2022-8-19 18:56
请教一下大佬,通过代码,找到了原理。但是同原理却在https://imgbb.com/不适用,望指点!

要是知道auth_token就能像我的帖子那样post了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-20 21:08:43 From FishC Mobile | 显示全部楼层
青出于蓝 发表于 2022-8-19 18:56
请教一下大佬,通过代码,找到了原理。但是同原理却在https://imgbb.com/不适用,望指点!

感谢版主推荐
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-21 07:41:24 | 显示全部楼层
云龙烛火 发表于 2022-8-20 21:08
要是知道auth_token就能像我的帖子那样post了

明白了,谢谢~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-21 10:51:11 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-8-21 23:17:06 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-8-22 10:34:26 | 显示全部楼层
厉害呀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-22 11:37:22 | 显示全部楼层
厉害啦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-24 20:43:03 From FishC Mobile | 显示全部楼层
Jinvador 发表于 2022-8-24 19:23


有什么事吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-27 05:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表