最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python自定義scrapy中間模塊避免重復(fù)采集的方法

 更新時間:2015年04月07日 16:36:56   作者:pythoner  
這篇文章主要介紹了Python自定義scrapy中間模塊避免重復(fù)采集的方法,實例分析了Python實現(xiàn)采集的技巧,非常具有實用價值,需要的朋友可以參考下

本文實例講述了Python自定義scrapy中間模塊避免重復(fù)采集的方法。分享給大家供大家參考。具體如下:

from scrapy import log
from scrapy.http import Request
from scrapy.item import BaseItem
from scrapy.utils.request import request_fingerprint
from myproject.items import MyItem
class IgnoreVisitedItems(object):
  """Middleware to ignore re-visiting item pages if they
  were already visited before. 
  The requests to be filtered by have a meta['filter_visited']
  flag enabled and optionally define an id to use 
  for identifying them, which defaults the request fingerprint,
  although you'd want to use the item id,
  if you already have it beforehand to make it more robust.
  """
  FILTER_VISITED = 'filter_visited'
  VISITED_ID = 'visited_id'
  CONTEXT_KEY = 'visited_ids'
  def process_spider_output(self, response, result, spider):
    context = getattr(spider, 'context', {})
    visited_ids = context.setdefault(self.CONTEXT_KEY, {})
    ret = []
    for x in result:
      visited = False
      if isinstance(x, Request):
        if self.FILTER_VISITED in x.meta:
          visit_id = self._visited_id(x)
          if visit_id in visited_ids:
            log.msg("Ignoring already visited: %s" % x.url,
                level=log.INFO, spider=spider)
            visited = True
      elif isinstance(x, BaseItem):
        visit_id = self._visited_id(response.request)
        if visit_id:
          visited_ids[visit_id] = True
          x['visit_id'] = visit_id
          x['visit_status'] = 'new'
      if visited:
        ret.append(MyItem(visit_id=visit_id, visit_status='old'))
      else:
        ret.append(x)
    return ret
  def _visited_id(self, request):
    return request.meta.get(self.VISITED_ID) or request_fingerprint(request)

希望本文所述對大家的Python程序設(shè)計有所幫助。

相關(guān)文章

  • Python使用窮舉法求兩個數(shù)的最大公約數(shù)問題

    Python使用窮舉法求兩個數(shù)的最大公約數(shù)問題

    這篇文章主要介紹了Python使用窮舉法求兩個數(shù)的最大公約數(shù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python的pyecharts繪制各種圖表詳細(xì)(附代碼)

    python的pyecharts繪制各種圖表詳細(xì)(附代碼)

    這篇文章主要介紹了python的pyecharts繪制各種圖表詳細(xì)(附代碼),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • python suds訪問webservice服務(wù)實現(xiàn)

    python suds訪問webservice服務(wù)實現(xiàn)

    這篇文章主要介紹了python suds訪問webservice服務(wù)實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • python Opencv將圖片轉(zhuǎn)為字符畫

    python Opencv將圖片轉(zhuǎn)為字符畫

    這篇文章主要為大家詳細(xì)介紹了python Opencv將圖片轉(zhuǎn)為字符畫的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • GPU排隊腳本實現(xiàn)空閑觸發(fā)python腳本實現(xiàn)示例

    GPU排隊腳本實現(xiàn)空閑觸發(fā)python腳本實現(xiàn)示例

    有的服務(wù)器是多用戶使用,GPU的資源常常被占據(jù)著,很可能在夜間GPU空閑了,但來不及運行自己的腳本。如果沒有和別人共享服務(wù)器的話,自己的多個程序想排隊使用GPU,也可以用這個腳本
    2021-11-11
  • Python自動化辦公之手機(jī)號提取

    Python自動化辦公之手機(jī)號提取

    這篇文章主要介紹了如何利用Python語言編寫一個手機(jī)號提取器,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python有一定的幫助,需要的可以參考一下
    2022-06-06
  • Python Flask全棧項目實戰(zhàn)構(gòu)建在線書店流程

    Python Flask全棧項目實戰(zhàn)構(gòu)建在線書店流程

    這篇文章主要為大家介紹了Python Flask全流程全棧項目實戰(zhàn)之在線書店構(gòu)建實現(xiàn)過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • python實現(xiàn)層次聚類的方法

    python實現(xiàn)層次聚類的方法

    層次聚類就是一層一層的進(jìn)行聚類,可以由上向下把大的類別(cluster)分割,叫作分裂法,這篇文章主要介紹了python實現(xiàn)層次聚類的方法,需要的朋友可以參考下
    2021-11-11
  • windows下安裝python的C擴(kuò)展編譯環(huán)境(解決Unable to find vcvarsall.bat)

    windows下安裝python的C擴(kuò)展編譯環(huán)境(解決Unable to find vcvarsall.bat)

    這篇文章主要介紹了windows下安裝python的C擴(kuò)展編譯環(huán)境(解決Unable to find vcvarsall.bat),需要的朋友可以參考下
    2018-02-02
  • Python??處理?Pandas?DataFrame?中的行和列

    Python??處理?Pandas?DataFrame?中的行和列

    這篇文章主要介紹了Python處理Pandas?DataFrame中的行和列,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09

最新評論

抚顺县| 滦南县| 民乐县| 都兰县| 原平市| 喀喇沁旗| 德州市| 黑水县| 台中市| 铁岭市| 香港 | 甘德县| 金寨县| 平遥县| 铁岭县| 彝良县| 宁蒗| 湛江市| 泰来县| 托里县| 临澧县| 巴塘县| 房产| 利川市| 鄯善县| 鄂伦春自治旗| 图们市| 乡城县| 阿瓦提县| 景德镇市| 遵化市| 德安县| 噶尔县| 盱眙县| 靖江市| 苏尼特左旗| 若尔盖县| 固原市| 镇安县| 香格里拉县| 抚远县|