修复一些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, headers=headers,
proxies=get_proxies() proxies=get_proxies()
) )
logger.debug(f"{response.content=}")
response = response.json() response = response.json()
backstr = response["data"]["backstr"] backstr = response["data"]["backstr"]
captcha_link = response["data"]["captchalist"][0]["source"]["back"]["path"] 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()) image_response = requests.get(captcha_link, headers=headers, proxies=get_proxies())

View File

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