吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3738|回复: 22
收起左侧

[Python 原创] 【Python】论坛发图辅助脚本(爬虫)

[复制链接]
yunlongzhuhuo 发表于 2022-7-13 19:12
本帖最后由 yunlongzhuhuo 于 2022-7-22 17:54 编辑

期末考试终于考完了,趁这几天有空写点代码,开学就该上初三了,空余时间也就不多了


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

因为不同图床需要提交的POST表单不一致,所以在这里我用ImgURL图床做示范,如果大家有需求,可自行修改代码。(如有违规,请管理立即删帖!)


使用脚本的时候,我们只需把需要上传的图片和这个脚本放在同一个文件夹中,然后运行脚本,稍作等待,看到提示时就可以在脚本运行文件夹中发现一个名为“图片链接.txt”的文件,里面就是图片链接啦!
代码如下:
[Python] 纯文本查看 复制代码
# -- 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("[img]%s[/img]\n" % get(pictures))
f.close()
print("链接已生成,请在脚本所在文件夹中找到名为“图片链接.txt”的文件,里面就是图片链接啦!")


因为怕侵权,在这里就不提供成品软件了,有需要可自行编译!(需要安装Requests库)

开源地址:https://github.com/yunlongzhuhuo/pictures-uploader


效果如下:


免费评分

参与人数 6吾爱币 +11 热心值 +3 收起 理由
schedule + 1 谢谢@Thanks!
小马骑老虎 + 1 + 1 我很赞同!
zxinyun + 2 都卷到初中生了- -~
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
YuanFang0w0 + 1 我很赞同!
xhtdtk + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| yunlongzhuhuo 发表于 2022-7-22 17:53
sapin 发表于 2022-7-13 20:04
有个地方想问一下,29和32行既然是处理同一个图片,写成两个loop是有什么考虑吗
XiaoZouYu 发表于 2022-7-13 19:49
深海老鱼 发表于 2022-7-13 19:33
谢谢分享...
cyxnzb 发表于 2022-7-13 19:40
初三??后生可畏啊,想当年我初三的时候。。。我在研究易语言哈哈哈哈哈哈哈哈哈
 楼主| yunlongzhuhuo 发表于 2022-7-13 20:08
本帖最后由 yunlongzhuhuo 于 2022-7-13 20:23 编辑
sapin 发表于 2022-7-13 20:04
有个地方想问一下,29和32行既然是处理同一个图片,写成两个loop是有什么考虑吗

一是为了防止“BBcode”出现多次,二是因为它们格式不一样啊,一个是markdown,一个是BBcode
sapin 发表于 2022-7-13 20:37
yunlongzhuhuo 发表于 2022-7-13 20:08
一是为了防止“BBcode”出现多次,二是因为它们格式不一样啊,一个是markdown,一个是BBcode

原来是这样,另存一个list再拼代码长度也差不多了
spy 发表于 2022-7-13 20:53
初三也太牛了,现在开始卷java学7年大四毕业直接架构师
YuanFang0w0 发表于 2022-7-13 21:31
cyxnzb 发表于 2022-7-13 19:40
初三??后生可畏啊,想当年我初三的时候。。。我在研究易语言哈哈哈哈哈哈哈哈哈

我也是初中在研究易语言,哈哈哈然后高中写了压枪辅助软件,后来接触了python,慢慢就没再弄易语言了,现在都忘完了
hackerbob 发表于 2022-7-13 22:21
好东西呀
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 03:47

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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