2
分享
比赛

這是測試活動發佈!這是測試活動發佈!這是測試活動發佈!

這是測試活動發佈!這是測試活動發佈!這是測試活動發佈!這是測試活動發佈!這是測試活動發佈!這是測試活

侨港伍氏宗亲会伍时畅纪念学校主办方
订阅学校

活动信息

活动时间:2026-06-19 00:00 至 2026-06-30 00:00
对象:全体学生
名额:共100名额 剩余96名额
联系人:測試
联系人号码:13800000001/13900000002
电子邮件:123456@qq.com、147258369@qq.com
地址:學校廣場

报名方式

搵教育平台報名
聯繫學校報名:123456789@qq.com
點擊報名鏈接報名:www.baidu.com
我要报名
- 报名截止

活动内容

def update_last_updated_date():

   """更新所有记录的 last_updated_date 为当前日期"""

   with get_db_connection() as conn:

       cur = conn.cursor()

       cur.execute("UPDATE goodschool_activity_cn SET last_updated_date = CURDATE()")

       logger.info(f"✅ 更新了 {cur.rowcount} 条记录的 last_updated_date")


def main():

   logger.info("🚀 GoodSchool 活动爬虫启动(新增event-content字段提取)")

   init_database()

   

   # 添加字段(如果表已存在)

   add_last_updated_date_column()


   existing_urls = get_existing_urls()

   logger.info(f"📦 数据库中已有 {len(existing_urls)} 条记录")


   with get_driver() as driver:

       all_links = extract_all_detail_links(driver)


   new_links = [url for url in all_links if url not in existing_urls]

   logger.info(f"🆕 新增待爬取链接: {len(new_links)} 条")


   if not new_links:

       logger.info("没有新数据,程序退出")

       # 即使没有新数据,也更新 last_updated_date

       update_last_updated_date()

       return


   results = []

   with ThreadPoolExecutor(max_workers=MAX_WORKERS) as executor:

       future_to_url = {executor.submit(process_detail_page, url, existing_urls): url for url in new_links}

       completed = 0

       for future in as_completed(future_to_url):

           url = future_to_url[future]

           completed += 1

           try:

               data = future.result()

               if data:

                   results.append(data)

           except Exception as e:

               logger.error(f"❌ 处理失败 {url}: {e}")

           if completed % 10 == 0:

               logger.info(f"📈 进度: {completed}/{len(new_links)}")


   for i in range(0, len(results), BATCH_SIZE):

       batch = results[i:i + BATCH_SIZE]

       batch_save_activities(batch)

   

   # 爬取完成后,更新所有记录的 last_updated_date

   update_last_updated_date()


   logger.info(f"🎉 爬取完成,成功新增 {len(results)} 条活动数据")

logo一站式教育助力,伴学成长

Copyright © 2015-2025揾教育.AII Rights Reserved.本站点课程版权由揾教育平台享有,未经本公司允许不得转载

请勿建立镜像或通过其他违法用途使用。