@@ -143,7 +143,7 @@ def login(self):
143143 except Exception as e :
144144 logger .error (f"登录请求异常: { e } " )
145145 return False
146-
146+
147147 self .print_connect_info () # 打印连接信息
148148
149149 # Step 3: Pass cookies to DrissionPage
@@ -190,9 +190,13 @@ def login(self):
190190
191191 def click_topic (self ):
192192 topic_list = self .page .ele ("@id=list-area" ).eles (".:title" )
193+ if not topic_list :
194+ logger .error ("未找到主题帖" )
195+ return False
193196 logger .info (f"发现 { len (topic_list )} 个主题帖,随机选择10个" )
194197 for topic in random .sample (topic_list , 10 ):
195198 self .click_one_topic (topic .attr ("href" ))
199+ return True
196200
197201 @retry_decorator ()
198202 def click_one_topic (self , topic_url ):
@@ -234,13 +238,15 @@ def browse_post(self, page):
234238 time .sleep (wait_time )
235239
236240 def run (self ):
237- if not self .login (): # 登录
238- logger .error ("登录失败,程序终止" )
239- sys .exit (1 ) # 使用非零退出码终止整个程序
240-
241+ login_res = self .login ()
242+ if not login_res : # 登录
243+ logger .warning ("登录验证失败" )
241244
242245 if BROWSE_ENABLED :
243- self .click_topic () # 点击主题
246+ click_topic_res = self .click_topic () # 点击主题
247+ if not click_topic_res :
248+ logger .error ("点击主题失败,程序终止" )
249+ return
244250 logger .info ("完成浏览任务" )
245251
246252 self .send_notifications (BROWSE_ENABLED ) # 发送通知
@@ -263,7 +269,12 @@ def click_like(self, page):
263269
264270 def print_connect_info (self ):
265271 logger .info ("获取连接信息" )
266- resp = self .session .get ("https://connect.linux.do/" , impersonate = "chrome136" )
272+ headers = {
273+ "Accept" : "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ,
274+ }
275+ resp = self .session .get (
276+ "https://connect.linux.do/" , headers = headers , impersonate = "chrome136"
277+ )
267278 soup = BeautifulSoup (resp .text , "html.parser" )
268279 rows = soup .select ("table tr" )
269280 info = []
0 commit comments