修复一些bug,wap reporter 当返回重复提交的时候更新数据库状态

This commit is contained in:
xhy 2025-04-09 23:07:30 +08:00
parent 19607428f8
commit c373f896b4
2 changed files with 12 additions and 6 deletions

View File

@ -407,10 +407,10 @@ class CrawlEngine:
headers=headers,
proxies=get_proxies()
)
logger.debug(f"{response.content=}")
response = response.json()
backstr = response["data"]["backstr"]
captcha_link = response["data"]["captchalist"][0]["source"]["back"]["path"]
logger.debug(f"{backstr=}, {captcha_link=}")
# 下载验证码图片
image_response = requests.get(captcha_link, headers=headers, proxies=get_proxies())

View File

@ -51,7 +51,8 @@ class WapReporter(BaseReporter):
def run(self):
"""实现 WAP 端的举报逻辑"""
with Session(self.database) as session:
stmt = select(ReportUrlModel).where(ReportUrlModel.is_report_by_wap == False).where(ReportUrlModel.has_evidence == True)
stmt = select(ReportUrlModel).where(ReportUrlModel.is_report_by_wap == False).where(
ReportUrlModel.has_evidence == True)
rows: list[ReportUrlModel] = session.exec(stmt).all()
logger.debug(f"[{self.engine_name}] 共找到 {len(rows)} 条待举报记录")
@ -61,6 +62,8 @@ class WapReporter(BaseReporter):
if not self.status:
break
self.ev.wait(1)
# 选个 cookie
report_cookie = random.choice(get_all_cookies())
report_site_cookie = GenCookie.run(report_cookie)
@ -93,7 +96,7 @@ class WapReporter(BaseReporter):
# wapUserAgent = random.choice(self.wapUserAgent)
response = self.request.get(
"https://ufosdk.baidu.com/api?m=Web&a=getUserInfo&appid=293852",
headers=self.headers, proxies=self.proxies, allow_redirects=False, timeout=10, verify=False
headers=self.headers, proxies=self.proxies, allow_redirects=False, timeout=10
)
json_data = response.json()
logger.debug(f"{self.engine_name} get_user_info response: {json_data}")
@ -152,11 +155,14 @@ class WapReporter(BaseReporter):
proxies=self.proxies,
allow_redirects=False,
timeout=10,
verify=False
)
# logger.debug(req.json())
logger.debug(response.json())
if response.json()['errno'] == 0:
data = response.json()
logger.debug(data)
if data['errno'] == 0:
logger.success(f"[{self.engine_name}] {fb_url} 举报成功")
return True
if "请勿重复提交" in data["errmsg"]:
logger.success(f"[{self.engine_name}] {fb_url} 重复提交,标记为成功")
return True
return False