Scrapyの這い出し速度の向上
4271 ワード
プロファイルで関連パラメータを変更するには、次の手順に従います.同時増加 デフォルトのscrapyオープンのコンカレントスレッドは32個で、適切に追加でき、コンフィギュレーションファイルでCONCURRENT_を変更できます.REQUESTS=100は100、同時設定は100です.ログレベルを下げる scrapyの実行時には、大量のログ情報が出力、cpuの使用率を減らすために、INFOまたはERRORとしてlog出力情報を設定することができる.プロファイルにLOG_を記述するLEVEL = ‘INFO’ クッキー禁止 本当にクッキーが必要でない場合は、scrapyでデータを取得するときにクッキーを禁止してCPUの使用率を減らし、爬虫類の効率を高め、プロファイルにCOOKIES_を書くことができます.ENABLED= False 再試行禁止 失敗したHTTPリクエストに対して再リクエスト(再試行)を行うと、スキップ速度が遅くなります.したがって、再試行を禁止し、プロファイルに:RETRY_を記述できます.ENABLED = False ダウンロードタイムアウトを減らす 非常に遅いリンクをスクロールすると、ダウンロードのタイムアウトを減らすことで、詰まったリンクが急速に放棄され、スクロールの効率が向上します.プロファイルでの作成:DOWNLOAD_TIMEOUT=10タイムアウト時間は10 s
# -*- coding: utf-8 -*-
BOT_NAME = 'spider'
SPIDER_MODULES = ['spiders']
NEWSPIDER_MODULE = 'spiders'
ROBOTSTXT_OBEY = False
LOG_LEVEL = "INFO" #
LOG_STDOUT = True #
# change cookie to yours
DEFAULT_REQUEST_HEADERS = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) Gecko/20100101 Firefox/61.0',
'Cookie':'SCF=AlvwCT3ltiVc36wsKpuvTV8uWF4V1tZ17ms9t-bZCAuiVJKpCsgvvmSdylNE6_4GbqwA_MWvxNgoc0Ks-qbZStc.; OUTFOX_SEARCH_USER_ID_NCOO=1258151803.428431; SUB=_2A25zjTjHDeRhGeBN6VUX9SvEzT-IHXVQjliPrDV6PUJbkdANLUvskW1NRJ24IEPNKfRaplNknl957NryzKEwBmhJ; SUHB=0ftpSdul-YZaMk; _T_WM=76982927613'
}
CONCURRENT_REQUESTS = 100
DOWNLOAD_DELAY = 3
DOWNLOADER_MIDDLEWARES = {
'scrapy.downloadermiddlewares.cookies.CookiesMiddleware': None,
'scrapy.downloadermiddlewares.redirect.RedirectMiddleware': None,
'middlewares.IPProxyMiddleware': 100,
'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 101,
}
ITEM_PIPELINES = {
'pipelines.MongoDBPipeline': 300,
}
RETRY_ENABLED = False
DOWNLOAD_TIMEOUT = 10
MONGO_HOST = '127.0.0.1'
MONGO_PORT = 27017