2017-09-24 3 views
0

で画像をダウンロードしようとしているが、変数がリンクされTypeError: unhashable type: 'list'TypeError例外:非ハッシュ型「list」のリンクでファイルを保存しようとすると、リンク

import requests 
import lxml 
page = requests.get('https://karabas.com') 
for link in links: 
    event_page = requests.get(link) 
    tree_event_page = html.fromstring(event_page.content) 
    image = tree_event_page.xpath('//figure[@class="photo"]/meta/@content') 
    f = open('00000001.jpg','w+') 
    f.write(requests.get(image).content) 

imageに直面しています。私がイメージをダウンロードしようとしているところに何が問題なのですか?リンクの

例:https://image.karabas.com/w/350/h/496/f/files/import/1308758146_ImageBig636415263072975494.jpg

+0

なぜ、あなたの実際のトレースバックを投稿しませんか?彼らは**役に立つ**です。 – donkopotamus

答えて

1

私はあなたが、例えば、pageが使用されることはありませんし、linksが定義されることはありません、あなたのコードの重要な部分を残している可能性があるため、自分のエラーを再現することはできません。いずれにせよ、あなたのバグは、imageという変数が、あなたが信じているような単一のリンクではなく、文字列(リンクに対応する)のリストであるという事実のためかもしれません。これは、xpath methodが返すものです。最後に[0]に重点がある

image = tree_event_page.xpath('//figure[@class="photo"]/meta/@content')[0] 

:あなたが返されるつの結果が正確があることを知っていれば

だから、あなたのような何かを必要としています。


PS:推測のビットの後、私はあなたがおそらく意図したとおり、以下のスクリプトが動作することを確認します。

import requests 
from lxml import html 

links = ['https://kiev.karabas.com/pro-mishej-ta-lyudej-2'] 
for link in links: 
    event_page = requests.get(link) 
    tree_event_page = html.fromstring(event_page.content) 
    image = tree_event_page.xpath('//figure[@class="photo"]/meta/@content')[0] 
    with open('00000001.jpg','w+') as f: 
     f.write(requests.get(image).content) 
関連する問題