2017-08-31 3 views
-1

ここに私のpipelines.py(python3 + scrapy1.4)です。なぜwebからクロールされたコンテンツをpipelines.pyで保存できないのですか?

import urllib.request 
class MoviePipeline(object): 
    def process_item(self, item, spider): 
     headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0'} 
     req = urllib.request.Request(url=item['addr'],headers=headers) 
     res = urllib.request.urlopen(req) 
     file_name = '/tmp/'+item['name']+'.jpg' 
     print(file_name) 
     with open(file_name,'wb') as fp: 
      fp.write(res.read()) 

1.print(file_nameには)私のmovie.pyの解析機能でitem'nameを印刷することができ
プリント(項目[ 'name' を])が動作することはできません。
scrapyのクロールムービーでスパイダーを実行するときにprint(アイテム['name'])がpipelines.pyで動作しないのはなぜですか?上記のコードは正常に動作することが確認された

import urllib.request 
addr = 'selected_from_crawled_url' 
req = urllib.request.Request(url= addr) 
res = urllib.request.urlopen(req) 
file_name = "/tmp/test.jpg" 
with open(file_name,'wb') as fp: 
    fp.write(res.read()) 

何のJPGファイルは/ tmpディレクトリに保存されていない2.Why
、なぜ同じ構造のパイプラインで作業することはできませんか?

+1

あなたは 'MoviePipeline'がさえ呼び出される?の' process_item'を確認しましたかそのパイプラインを 'settings.py'に追加しましたか? –

答えて

0

vimの映画/ settings.py

ITEM_PIPELINES = { 
    'movie.pipelines.MpviePipeline': 100, 
} 
+0

追加情報を追加するには、あなたの質問に編集リンクを使用してください。回答を投稿するボタンは、質問に対する完全な回答のためだけに使用してください。 - [レビューの投稿](/レビュー/低品質の投稿/ 17198570) – mx0

関連する問題