From c330d3f0c276977b2eb2e3846bdd2044595045be Mon Sep 17 00:00:00 2001 From: caibotmini Date: Sun, 5 Apr 2026 10:13:13 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dyichens=5Fspider=5Fv4.?= =?UTF-8?q?py=E4=B8=A4=E5=A4=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. post_time加入ON CONFLICT UPDATE SET - 未来重爬时可更新post_time 2. author_username提取从user_link改为标签 - 修复用户名抓不到的问题 --- crawlers/yichens_spider_v4.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/crawlers/yichens_spider_v4.py b/crawlers/yichens_spider_v4.py index e4f99ab..21ba1b5 100644 --- a/crawlers/yichens_spider_v4.py +++ b/crawlers/yichens_spider_v4.py @@ -87,6 +87,7 @@ def save_post(post): reply_count = EXCLUDED.reply_count, view_count = EXCLUDED.view_count, price = EXCLUDED.price, + post_time = EXCLUDED.post_time, updated_at = CURRENT_TIMESTAMP """ cur.execute(sql, ( @@ -462,10 +463,11 @@ def parse_userinfo_block(userinfo_div): if dispuser_match: user_id = dispuser_match.group(1) - # username + # username - from tag inside userinfo div username = None - if user_link: - username = user_link.get_text(strip=True) + b_tag = userinfo_div.find('b') + if b_tag: + username = b_tag.get_text(strip=True) # transaction_level level_match = re.search(r'交易等级[::]\s*([^\n]+)', text)