###前提・実現したいこと
dockerからpythonでネットから自動で画像を収集するクローラーを動かしたくて電子工作速報さんのサイト(http://denshi.blog.jp/network/python/get_google_image)のプログラムをコピペして動かしてみたんですがTypeError: 'NoneType' object has no attribute 'getitem'のエラーが返ってきます
###発生している問題・エラーメッセージ
root@11be5e8a8b28:/notebooks# python crawler.py Traceback (most recent call last): File "crawler.py", line 49, in <module> main() File "crawler.py", line 43, in main urls = url_search(keyword, n=1) # URL File "crawler.py", line 15, in url_search img_url += [result["url"] for result in data["responseData"]["results"]] TypeError: 'NoneType' object has no attribute '__getitem__'
###該当のソースコード
python
1#-*- coding:utf-8 -*- 2import json 3import os 4import urllib2 5 6# keywordの画像リンクを探索 7def url_search(keyword, n): 8 9 img_url=[] 10 url = "http://ajax.googleapis.com/ajax/services/search/images?q={0}&v=1.0&rsz=large&start={1}" 11 # keywordと一致する画像URLをn個取得 12 for i in range((n/8)+1): 13 res = urllib2.urlopen(url.format(keyword, i*8)) 14 data = json.load(res) 15 img_url += [result["url"] for result in data["responseData"]["results"]] 16 17 return img_url 18 19# URL先の画像ファイルを保存 20def url_download(keyword,urls): 21 print("Download Start...") 22 # keywordのフォルダが無ければ作成 23 if os.path.exists(keyword)==False: 24 os.mkdir(keyword) 25 26 opener = urllib2.build_opener() 27 # URLの数だけ画像DL 28 for i in range(len(set(urls))): 29 try: 30 fn, ext = os.path.splitext(urls[i]) 31 req = urllib2.Request(urls[i], headers={"User-Agent" : "Magic Browser"}) 32 img_file = open(keyword+"\\"+str(i)+ext, "wb") # 画像データの保存 33 img_file.write(opener.open(req).read()) 34 img_file.close() 35 print("DL Image Link:"+str(i+1)) 36 except: 37 continue 38 39# メイン文 40def main(): 41 42 keyword = "kankore" # 検索キーワード 43 urls = url_search(keyword, n=1) # 画像URLの探索 44 url_download(keyword,urls) # 画像のダウンロード 45 print("End...") 46 47 48if __name__ == '__main__': 49 main() 50
###試したこと
http://ja.stackoverflow.com/questions/4616/python-%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B-nonetype-object-has-no-attribute-getitem-%E3%81%A8%E3%81%84%E3%81%86%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6
をみたのですが、どこに[0]をいれればいいか分かりませんでした
###補足情報(言語/FW/ツール等のバージョンなど)
python2.7.6を使っています

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/02 12:59