<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      多優先隊列協程池爬蟲及消息推送技術分析

      作者:Naihe

      Github:https://github.com/239144498


      項目需求:將某Discourse論壇最新消息進行多重過濾,判定信息的不同優先級并及時推送到手機。

      項目難點

      1. 論壇針對網絡請求設置了IP和Token限流,頻繁請求會觸發429報錯
      2. 針對不同信息流的分類,優先處理重要事件
      3. 避免任務高并發被服務端發現的可能
      4. 多生產-多加工-多消費模型之間的關系處理
      5. AI在信息流中實現分類應用的問題

      問題1 通過將0級信息通過低級代理池請求,高級信息通過多賬號的專用ip代理池處理。

      問題3 通過設置合理的協程并發數,并且基于時間段設置不同請求頻率間隔,以及根據白天和黑夜設置賬號請求策略,能很大程度解決此問題.

      問題2 通過GET Topics得到信息流列表,提取每條信息所攜帶的Topic 類型標簽等級UIDAI分類特征。

      基于上述的信息特征通過寫好的多重表達式進行綜合評判,可以將信息分為CRITICALPRESSINGPLANNEDOPTIONALPASS五大類。

      優先將CRITICALPRESSING立即處理,PASS作為最后處理類型,并且不推送消息。

      問題4 也是一大難點,需要根據項目特性合理分配不同任務給到相應協程池,具體實現在下面展開講。

      問題5 經過長時間運行我發現AI有小概率出現幻覺,雖然不多但是很影響項目運行效果,我希望Ai能夠根據提供的內容通過指定的提示詞按照要求進行分類,最終輸出標準的JSON內容,但是由于AI幻覺問題,可能會輸出錯誤的信息,那么我針對該現象寫了一個SafeJSON解析器處理Ai的內容,能夠很大程度解決這一問題。


      項目大致運行流程如下

      GET Topics -> 分類高/低級信息 -> submit 高/低級生產池 -> submit 信息加工處理池 -> 推送消費池

      第一步通過低級信息請求 和 高級信息請求,將兩者做差集,可以分別得到高/低Topics,根據每條信息特征可以總結出以下展開特征

      用戶類型:指定用戶、普通用戶、黑名單用戶
      貼子類型:指定類型、普通類型、黑名單類型
      內容類型:指定關鍵字內容、普通內容、黑名單關鍵字內容
      貼子標簽:指定標簽、普通標簽、黑名單標簽
      帖子等級:高級貼、零級貼
      

      第二步根據這些特征我將它融合到五大類中,在不同組合中可以得到100多種信息特征。我根據每種類寫了多組匹配表達式,可以很好的判斷哪個信息屬于哪種類別。

      第三步根據五大類別,CRITICALPRESSING類可以直接給到消費池,確保重要和緊急信息能夠及時推送,PASS類在這一步被過濾,其他類正常進入生產池。

      第四步將生產池返回的內容投入到加工池,通過預先設置好的系統提示詞,讓Ai再一次分類,可以得到以下JSON信息結構。

      {
          "type": 0/1/-1,
          "object": "簡潔精準的主題描述",
          "keys": ["關鍵詞1", "關鍵詞2", "關鍵詞3"],
          "confidence": 0-100
      }
      

      type 0表示普通信息,type 1表示感興趣信息,type -1表示不感興趣信息,如果 confidence 達到指定的可信值,就更新類別。將更新后的PASS類過濾,其他類投入到消費池。

      第五步將加工池返回的信息,根據信息類別設置指定的推送事件類型,推送到用戶手機中。


      項目文件結構

      paths_to_zip = [
          'spider',
          'requirements.txt',
          'main.py',
          'coordinator.py',
          'consume.py',
          'produce.py',
          'process.py',
      ]
      Spider
      	__init__.py
      	ai.py
      	config.py
      	crawler.py
      	filter.py
      	models.py
      	network.py
      	notifier.py
      	priorityAsyncPool.py
      	setting.py
      	tokenBucket.py
      	utils.py
      

      4個協程池

      producer_queue處理普通生產事件

      single_producer_queue處理高級生產事件

      processor_queue處理加工事件

      consumer_queue處理消費事件

      到這里整個項目流程就可以正常跑通,在多生產-消費模型中,可以將項目代碼中關鍵節點很好的解耦,方便后期維護和使用,比之前任務流式的多線程跑要好很多。

      五大類參考了四象限模型,增加了一個PASS類型,可以很好的根據不同類型進行推送處理。

      在網絡請求中,我將賬號分為0-3四個級別,并給每個級別的賬號池設置了tokenBucket限流,確保不會觸發429報錯。

      賬號池通過最小堆實現,可以根據具體需求,給每個賬號設置相應權重。


      以上信息為By Naihe創作,轉載請標明出處!

      作者:Naihe

      Github:https://github.com/239144498

      posted @ 2025-01-27 16:27  Naihe\  閱讀(222)  評論(0)    收藏  舉報
      // 音樂播放器
      主站蜘蛛池模板: 2018天天拍拍天天爽视频| 亚洲精品乱码久久观看网| 国产高清自产拍av在线| 精品人妻久久久久久888| 久久亚洲国产五月综合网| 亚洲男人AV天堂午夜在| 日韩中文字幕亚洲精品| 欧美亚洲国产成人一区二区三区| 美女黄18以下禁止观看| 国产欧美精品区一区二区三区| 日韩精品视频一二三四区| 又爽又黄又无遮挡的激情视频 | 同仁县| 久久久久中文伊人久久久| 男女动态无遮挡动态图| 阿城市| 久久人人97超碰精品| 无码专区 人妻系列 在线| 亚洲精品无码成人A片九色播放| 忍着娇喘人妻被中出中文字幕| 深夜视频国产在线观看| 国产69精品久久久久人妻| 亚洲中文字幕精品第一页| 在线a人片免费观看| 2022最新国产在线不卡a| 国产精品综合av一区二区| 真实国产乱子伦视频| 久久久久久久久久久久中文字幕| 亚洲综合中文字幕第一页| 日本欧美大码a在线观看| 苍井空毛片精品久久久| 国产色悠悠视频在线观看| 亚洲第一无码专区天堂| 尤物yw193无码点击进入| 大庆市| 一区二区三区鲁丝不卡| 99国产精品永久免费视频| 国语自产拍精品香蕉在线播放| 亚洲精品毛片一区二区| 伊人久久大香线焦av综合影院| 免费无码高H视频在线观看|