Sierra 10.12.1
python3
特定のサイトから画像を取得したいのですが
URLを正しく取得できているのにもかかわらず画像がダウンロードできませんでした。
urlopenでつまっています。HTTPErrorが検出されてしまいます。
おかしいと思いそのURLにクロームから飛んでみた結果403エラーが。
やはりurlが正しく取得できていないのかなと思い
ホームページからクリックした場合その画像が存在するページに飛んでくれました。
このとき取得できたURLと飛べたURLは全く同じでした。
ためしに飛べたURLをコピーしてメモ帳に貼り付け文字列として
そのURLで飛ぼうとした結果403エラーが起きました。
全く同じURLなのになぜこのようなことがおきるのでしょうか??
これはセキュリティの問題でしょうか?
取得することはできないのでしょうか?
lang
1from bs4 import BeautifulSoup 2import urllib 3from urllib import request 4from urllib.request import urlopen 5from urllib.error import URLError, HTTPError 6import os 7 8count=0 9html = urllib.request.urlopen("指定ページ") 10soup = BeautifulSoup(html) 11headers={ 12 "User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0", 13 } 14clas=soup.find_all(class_="img-responsive img-private") 15# print(b) 16# print(b.select()) 17for x in clas: 18 # print(x) 19 try: 20 url=x.get('src') 21 #指定ページの確認 22 print('url='+url) 23 count=count+1 24 print(count) 25 req = request.Request(url=url, headers=headers) 26 img = request.urlopen(req) 27 localfile = open(os.path.basename(url), 'wb') 28 localfile.write(img.read()) 29 img.close() 30 localfile.close() 31 except HTTPError as e: 32 print("HTTPError") 33 except URLError as e: 34 print("URLError")
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/10 12:09