

下記サイトを参考にwebスクレイピングをはじめて試しています。  
<http://blog.aidemy.net/entry/2017/12/17/214715>

物は試しとAPI_KEYとCUSTOM_SEARCH_ENGINEだけ取得し、画像収集のソースコードをそのまま使用させていただき実行すると下記のエラーが発生しました。

[code]

    Traceback (most recent call last):
      File "gazou_shutoku.py", line 52, in <module>
        img_list = get_image_url(keywords[j],100)
      File "gazou_shutoku.py", line 26, in get_image_url
        res = urllib.request.urlopen(query_img)
      File "C:\Users\ユーザー名\Anaconda3\envs\gazou_atsume\lib\urllib\request.
    py", line 223, in urlopen
        return opener.open(url, data, timeout)
      File "C:\Users\ユーザー名\Anaconda3\envs\gazou_atsume\lib\urllib\request.
    py", line 532, in open
        response = meth(req, response)
      File "C:\Users\ユーザー名\Anaconda3\envs\gazou_atsume\lib\urllib\request.
    py", line 642, in http_response
        'http', request, response, code, msg, hdrs)
      File "C:\Users\ユーザー名\Anaconda3\envs\gazou_atsume\lib\urllib\request.
    py", line 570, in error
        return self._call_chain(*args)
      File "C:\Users\ユーザー名\Anaconda3\envs\gazou_atsume\lib\urllib\request.
    py", line 504, in _call_chain
        result = func(*args)
      File "C:\Users\ユーザー名\Anaconda3\envs\gazou_atsume\lib\urllib\request.
    py", line 650, in http_error_default
        raise HTTPError(req.full_url, code, msg, hdrs, fp)
    urllib.error.HTTPError: HTTP Error 403: Forbidden
    
[/code]

何が問題なのでしょうか？よろしくお願いします。


CC BY-SA 3.0
2018-04-21T15:33:27.753
43458
2019-01-15T13:01:40.317
2018-04-22T09:41:54.500
28049
28049
question
python web-scraping
webスクレイピング実行時のエラー


エラーメッセージから、エラーは以下のところで発生しています。

[code]

    res = urllib.request.urlopen(query_img)
    
[/code]

それで、query_imageの内容に問題があると思われます。

[code]

    query_img = "https://www.googleapis.com/customsearch/v1?key=" + API_KEY + "&cx=" + CUSTOM_SEARCH_ENGINE + "&num=" + str(10 if(total_num-i)>10 else (total_num-i)) + "&start=" + str(i+1) + "&q=" + quote(search_item) + "&searchType=image"
    
[/code]

まず、google customsearch API
が有効になっているかどうかを確認ため、ブラウザーURL欄に直接以下のURLを入力してみてください。API_KEYとCUSTOM_SEARCH_ENGINEのところは自分の番号を入力してください。

[code]

    https://www.googleapis.com/customsearch/v1?key=API_KEY&cx=CUSTOM_SEARCH_ENGINE&q=生田絵梨花&searchType=image
    
[/code]

それで、エラーになるようであれば、API_KEYとCUSTOM_SEARCH_ENGINEの設定を再度確認してください。エラーの内容がForbiddenとなっているので恐らくその設定に問題があるものと思われます。GooleのAPIの設定をミスすることはよくあります。

それが正しく表示できるのであれば、query_imgの値をprintする等して、以下のところに `Custom Search APIs
Explorer`があるので、query_imgの値が正しいかどうか確認にしてみてください。  
<https://developers.google.com/apis-
explorer/?hl=ja#p/customsearch/v1/search.cse.list>


CC BY-SA 3.0
2018-04-22T03:59:33.293
43465
2018-04-22T04:11:38.560
2018-04-22T04:11:38.560
15171
15171
43458
answer