#学校の美しさのネットワークは大容量のファイル、ビデオの複数のファイルを処理するのに適しまた、例画像をダウンロードするには、オーディオ処理
エンジニアリングプロセス-
scrapy startprojectの単位xx
CD XX
scrapy genspider HH www.xx.com
爬虫類実行scrapyクロールHH
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
インポートscrapy から yyl.itemsがインポートYylItemの クラスExampleSpider(scrapy.Spiderを): 名前 = ' xiaohua ' #allowed_domains = [ 'example.com'] start_urls = [ ' http://www.521609.com/daxuemeinv/ ' ] DEF (自己、応答)の解析: li_lst = response.xpath(' // * / DIV [2] / DIV [2] / UL /李[ID = "コンテンツ" @] ' ) #の印刷(li_lst) 用リチウムでli_lst : アイテム = YylItem() #实例化 #の項目[ 'SRC'] = '{} http://www.521609.com' .format(li.xpath( './a/img/@src ').extract_first()) 項目[ ' SRC ' ] = 「http://www.521609.com 」 + li.xpath(「./a/img/@src 」).extract_first() #のスプライシングフルアドレス 降伏項目 #のダウンロードダウンロードURLのビデオアーカイブ大きなファイルを担当するパイプラインメカニズム
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
輸入scrapyの クラスYylItem(scrapy.Item): #は似ここにあなたの項目のフィールドを定義します (SRC = scrapy.Field)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
インポートscrapy から scrapy.pipelines.images インポートImagesPipeline クラス:YylPipeline(オブジェクト) DEF process_item(セルフ、アイテム、スパイダー): 印刷(項目) 戻り項目 #大型パイプクラスファイルがダウンロードのために特別にパッケージscrapy使用して クラスをImgPipeline(ImagesPipeline): #は、大きなファイルを要求 DEFのget_media_requests(セルフ、項目、情報を): 収量 scrapy.Request(項目URL = [ ' SRC ' ]) #ダウンロードしたファイルの名前を指定するための DEFの FILE_PATHを(セルフ、要求、レスポンス=なし、情報= =なし): URL request.urlの ファイル名 = url.split(' / ') - 1 ] 戻りファイル名 #が DEF item_completed(自己、その結果、アイテム情報): プリント(結果) #1 结果真{URLパスチェックサム} 戻りアイテム #1 process_item中的リターンアイテム作用一致
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
BOT_NAME = ' yyl ' SPIDER_MODULES = [ ' yyl.spiders ' ] NEWSPIDER_MODULE = ' yyl.spiders ' #のユーザーエージェントに自分自身(およびWebサイト)を特定することにより、クロール責任 USER_AGENT = " Mozillaの/ 5.0(Windows NTの6.1; Win64の。 x64の)のAppleWebKit / 537.36(KHTML、ヤモリなど)クローム/ 73.0.3683.86サファリ/ 537.36 " #robots.txtの規則に従う ROBOTSTXT_OBEY = Falseの #Scrapy(によって行わ最大同時要求を設定しますデフォルト:16) #CONCURRENT_REQUESTS = 32 #同じウェブサイトのための要求のための遅延設定(デフォルト:0) #を参照してくださいhttps://doc.scrapy.org/en/latest/topics/settings.html#download-delay #を参照してください。また、オートスロットルの設定やドキュメント #DOWNLOAD_DELAY = 3 #:ダウンロードの遅延設定は一つだけの尊重します 。#CONCURRENT_REQUESTS_PER_DOMAIN = 16 #CONCURRENT_REQUESTS_PER_IP = 16 #(デフォルトで有効)を無効にクッキー #COOKIES_ENABLED = Falseの #を無効のTelnetコンソール(デフォルトで有効) #TELNETCONSOLE_ENABLED = Falseの #デフォルトのリクエストヘッダをオーバーライドします: #DEFAULT_REQUEST_HEADERSの= { # '受け入れる': 'text / htmlで、アプリケーション/ XHTML + xmlの、アプリケーション/ xmlの; Q = 0.9、* / *; qは0.8 ='、 #は、 '言語受け入れる': 'en'と、 #} #を有効または無効にスパイダーミドルウェアの #は参照https://doc.scrapy.org/en/latest/topics/spider-middleware.html #SPIDER_MIDDLEWARES = { # 'yyl.middlewares.YylSpiderMiddleware':543、 #} #は、有効または無効ダウンローダミドルウェアは、 #は見ますhttps://doc.scrapy.org/en/latest/topics/downloader-middleware.html #DOWNLOADER_MIDDLEWARES = { # 'yyl.middlewares.YylDownloaderMiddleware':543、 #} #有効または無効にする拡張機能 #がhttps://doc.scrapy.org/en/latest/topics/extensions.htmlを参照してください #EXTENSIONS = { # 'scrapy.extensions.telnet.TelnetConsole':なし、 #} #の設定項目パイプライン #を参照してくださいにhttps://doc.scrapy.org/en/latest/topics/item-pipeline.html ITEM_PIPELINES = { ' yyl.pipelines.YylPipeline ':301 、 ' yyl.pipelines.ImgPipeline ':300 、 } IMAGES_STORE = " ./ IMGS ' LOG_LEVEL = ' ERROR"
ます。https://www.cnblogs.com/zhangchen-sx/p/11023198.htmlで再現