吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2204|回复: 16
收起左侧

[Python 原创] 一键提交吾爱悬赏贴撤销申请

  [复制链接]
MyModHeaven 发表于 2024-1-23 22:04
本帖最后由 MyModHeaven 于 2024-1-24 08:08 编辑

感觉原标题“吾爱悬赏贴一键撤销”有些歧义,容易让人误会,改成了“一键提交吾爱悬赏贴撤销申请”

介绍

我是一个把吾爱币都花在悬赏上的人,所以撤销未解答的悬赏贴就有点麻烦,就自己写了这个

用到了三个库:datetime time selenium

slogn

一段简单的代码,实现一个简单的小功能
(这么贴心的功能,吾爱官方怎么没有呢?)
(看到管理误解了,我的意思不是自动撤销,而是自动获取用户未完结悬赏并在申请撤销悬赏专帖回复)

使用

  1. 手动登录账号,控制台回车让程序继续运行
  2. 程序会查找可以撤销的悬赏贴信息,根据要求的格式编写文本,并在2024年申请撤销悬赏专帖回复
  3. 人工核对,手动提交

不足

  1. 本人只有两页的悬赏贴子,所有有很多页悬赏贴的账号可能会有未知的错误
  2. 功能过于简单
  3. 感觉用油猴脚本是最简单的实现方式,奈何本人不会js

进化

这段代码是一年多以前写的,现在正在用PySide6重写,希望加上一些贴心小功能,而不是这么简单粗暴

代码

import datetime
from time import sleep

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

# 计算可撤销的最晚发帖日期
deadline = datetime.datetime.today() - datetime.timedelta(days=5)

url = 'https://www.52pojie.cn/home.php?mod=space&do=reward&view=me'
browser = webdriver.Chrome()
browser.get(url)

# 首次登录
next = input('登录完毕后,回车继续')
# cookies = browser.get_cookies()
# with open('d:/cookies.txt', 'w', encoding='utf-8') as f:
#     f.write(str(cookies))

# # cookie登录
# with open('d:/cookies.txt', 'r', encoding='utf-8') as f:
#     cookies = eval(f.read())
# browser.delete_all_cookies()
# for cookie in cookies:
#     browser.add_cookie(cookie)
browser.refresh()

# 获取账号id
id = browser.find_element(By.XPATH, "//div[@id='um']/p/strong/a").text

_total_page = browser.find_element(By.XPATH, '//input[@title="输入页码,按回车快速跳转"]/../span').get_attribute('title')
total_page = int(_total_page.split(' ')[1])

# 获取需要撤销的帖子信息
details = []
for page in range(total_page):
    sleep(1)      # 防止 429 Too Many Requests
    browser.get(url + '&page=' + str(page + 1))
    node_li = browser.find_elements(By.XPATH, "//ul[@class='rwdl cl']/li")
    for li in node_li:
        status = li.find_element(By.XPATH, "./div/em").text
        if status == '已解决':
            continue
        link  = li.find_element(By.XPATH, "./h4/a").get_attribute('href')
        postDate = li.find_element(By.XPATH, "./p/span").text
        # 判断帖子是否为 14 天内发布
        day = datetime.datetime.strptime(postDate, '%Y-%m-%d')
        if day > deadline:
            continue
        details.append((link, postDate))

# 打开申请撤销悬赏专帖
cancelUrl = 'https://www.52pojie.cn/thread-1875228-1-1.html'
browser.get(cancelUrl)
textarea = browser.find_element(By.XPATH, "//div[@id='fastposteditor']//textarea")
textarea.click()
# 判断当前年份
currentYear = datetime.datetime.now().year
if currentYear != 2024:
    textarea.send_keys('注意,这是 2024 年的申请撤销悬赏专贴,请复制下面内容到本年的专贴下面回复')
    textarea.send_keys(Keys.ENTER)

for det in details:
    textarea.send_keys('申请撤销CB帖子地址:' + det[0])
    textarea.send_keys(Keys.ENTER)
    textarea.send_keys('申请人ID:' + id)
    textarea.send_keys(Keys.ENTER)
    textarea.send_keys('悬赏发布时间:' + det[1])
    textarea.send_keys(Keys.ENTER)
    textarea.send_keys('申请撤销理由:')    # 理由请自行填写,需写清具体情况
    textarea.send_keys(Keys.ENTER)
    textarea.send_keys(Keys.ENTER)
# 展开评论内容,检查是否有错,修改撤销理由
browser.find_element(By.XPATH, "//div[@id='fastposteditor']/div/div/span/a").click()

next = input('''
--------------------------------
手动提交后,回车结束程序
--------------------------------
''')

免费评分

参与人数 1吾爱币 +5 热心值 +1 收起 理由
苏紫方璇 + 5 + 1 仅针对代码加分

查看全部评分

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

柒點 发表于 2024-1-23 22:16
撤销悬赏第一条:
如没有满意答案,请在撤销理由中写清具体情况。

不能用未解决作为通用理由哦

点评

关注下,恶意不结帖撤销的给违规,严重的禁言, 这种破坏规则不公平的事情需要严肃处理。  详情 回复 发表于 2024-1-24 00:41
Chanlong 发表于 2024-1-23 22:54
果然是52.没有做不到的。只有想不到的....
关于这个悬赏。看到版主也特地开贴,要求回复根据格式。。。
理由确实因为各种原因。时间久了帖子沉了,甚至超过几个月后无法回复更加烂尾了。。。
归根原因是提出来的需求有点高,也在不合适的时间,采用了不合适的标题。
天时地利人和。。。
莫奇 发表于 2024-1-23 22:13
wjqok 发表于 2024-1-23 22:40
能不能自问自答奖励给自己?
wojaiyh 发表于 2024-1-23 22:51
这个牛啊~!
头像被屏蔽
277249 发表于 2024-1-24 00:11
提示: 作者被禁止或删除 内容自动屏蔽
Hmily 发表于 2024-1-24 00:41
柒點 发表于 2024-1-23 22:16
撤销悬赏第一条:

不能用未解决作为通用理由哦

关注下,恶意不结帖撤销的给违规,严重的禁言, 这种破坏规则不公平的事情需要严肃处理。

所以楼主你觉得我为啥不在帖子里加一个自动撤销功能,还要人工审核来?

点评

好的,每一帖都会仔细核实的  详情 回复 发表于 2024-1-24 08:29
turmasi1234 发表于 2024-1-24 07:34
学到了,感谢呆佬
dingqh 发表于 2024-1-24 07:49
好好好,这么玩是吧,都干到自己头上了...
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-24 15:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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