質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

0回答

3388閲覧

python3 webスクレイピング urllib.error.HTTPError: HTTP Error 403: Forbiddenのエラーについて

hayabusakk

総合スコア16

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

1クリップ

投稿2018/08/28 13:43

編集2018/08/28 13:58

[やりたいこと]
HTTPヘッダーからエンコーディングを取得したい

python3

1 2import sys 3from urllib.request import urlopen 4 5f = urlopen('https://gihyo.jp/dp') 6 7headers = { 8"User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0", 9} 10 11encoding = f.info().get_content_charset(failobj="utf-8") 12print('encoding:', encoding, file=sys.stderr) 13text = f.read().decode(encoding) 14print(text) 15

エラー内容
Traceback (most recent call last):
File "greet.py", line 4, in <module>
f = urlopen('https://gihyo.jp/dp')
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 531, in open
response = meth(req, response)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 641, in http_response
'http', request, response, code, msg, hdrs)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 569, in error
return self._call_chain(*args)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 503, in _call_chain
result = func(*args)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 649, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

やったこと
参考にしたサイト

以下の部分を付け加えました。しかし同じエラーが出ました。
headers = {
"User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0",
}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mkgrei

2018/08/28 13:52

headersがurlopenの後にありますが、別のコードのお話ですか?
hayabusakk

2018/08/28 13:59

すいません。参考したサイトコードとエラーが出てるコードは、違うコードです。
CHERRY

2018/08/28 20:45 編集

リクエストヘッダは、参考にされたWebサイトの回答のように urlopen の前に設定して、urlopen の引数に指定する必要があります。 参考サイトのように設定してもエラーが出るのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問