吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2334|回复: 9
收起左侧

[Python 转载] python+Selenium=免费自动博客图床工具

[复制链接]
EchoY 发表于 2022-4-4 22:01

伪自动图床工具

markdown写博客里面的图片老是让我头疼。直接拉到GitHub上奇奇怪怪的,又慢不过。免费的图床api接口又找不到好用的,白嫖的总是容易失效。

路过图床用着不错。免费不跑路。但一次只让我上次一张,还得自己去复制url粘贴到md文件,不太优雅。

我一直用的是HbuilderX编辑我的博客文章,图片可以直接复制粘贴到md文档。在目录下会生成一个文件夹,存储这些图片。

就想着用python+Selenium库能不能写一个自动化脚本。

自动上传文件夹下所有图片,拿到链接。替换掉md文件内路径。

理论存在,实践开始

import os
import re
import time
from selenium import webdriver

def post_img(path):
    Brower = webdriver.Chrome("E:\百分浏览器\chromedriver.exe") # 浏览器内核驱动路径
    Brower.get('https://imgtu.com/')
    time.sleep(3)  # 延时操作
    Brower.find_element_by_id('anywhere-upload-input').send_keys(path)
    time.sleep(2)  # 延时操作
    button='document.querySelector("#anywhere-upload-submit > div:nth-child(1) > button").click()'
    Brower.execute_script(button)
    time.sleep(6)
    html=Brower.page_source
    jpg=re.findall(r'image_src" href="(.+?)">',html)
    Brower.close()  # 关闭浏览器
    print("已完成:%s"%jpg[0])
    return jpg[0]

def alter(file,old_str,new_str):
  with open(file, "r", encoding="utf-8") as f1,open("%s.bak" % file, "w", encoding="utf-8") as f2:
    for line in f1:
      if old_str in line:
        line = line.replace(old_str, new_str)
      f2.write(line)
  os.remove(file)
  os.rename("%s.bak" % file, file)

folder_name = os.listdir("G:\\blog\source\_posts2\OCR_img_files") # 图片文件夹路径
for i in range(len(folder_name)):
    data_name = "OCR_img_files/" + folder_name[i] # md文档内路径的前缀
    post_path = "G:\\blog\source\_posts2\\"+data_name.replace("/", "\\") # 将文件夹内路径中的/转换一下

    alter("G:\\blog\source\_posts2\OCR_img.md", data_name, post_img(post_path)) # md文档绝对路径,会替换掉md文档内路径

也算是学习一下Selenium库,里面也没啥高深的逻辑。

单纯的拿到文件,上传,拿到url,回传替换。

跑代码的话需要注意安装好Selenium驱动和库,还有后面的文件夹路径,文件路径。

更优雅的阅读体验

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

知心 发表于 2022-4-4 22:17
做笔记建议还是在本地存储,图床一旦故障,损失不可估量
 楼主| EchoY 发表于 2022-4-5 09:49
haoxiaohao 发表于 2022-4-4 22:33
经历过gitee白嫖图床失败我放弃了图床,全部本地管理了

Gitee和Github都反对仓库图床化,仓库里图片很多就容易凉凉。
haoxiaohao 发表于 2022-4-4 22:33
经历过gitee白嫖图床失败我放弃了图床,全部本地管理了
hxiang 发表于 2022-4-5 00:21
有没有网址?
qqpoly 发表于 2022-4-5 09:07
图床?还是自己存储保险,一旦出现问题,损失那是叫一个can
 楼主| EchoY 发表于 2022-4-5 09:47
qqpoly 发表于 2022-4-5 09:07
图床?还是自己存储保险,一旦出现问题,损失那是叫一个can

都用图床啦,当然是存的些无关紧要的咯。
 楼主| EchoY 发表于 2022-4-5 09:47

文中有链接的,md语法。路过图床字样就是
zm55555 发表于 2022-4-5 09:48
谢谢分享!
 楼主| EchoY 发表于 2022-4-5 09:50
知心 发表于 2022-4-4 22:17
做笔记建议还是在本地存储,图床一旦故障,损失不可估量

本地也有备份噢。只是一些无关紧要的上传到图床加速访问顺便减少空间啦
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-25 07:06

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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