ウィキペディアからページを取得しようとしています。リクエストに「User-Agent」ヘッダーを追加しました。ただし、urllib2.urlopen を使用してページを開くと、結果として次のページが表示されます: エラー: 要求された URL を取得できませんでした
エラー
要求されたURLを取得できませんでした
URL を取得しようとしたときに、次のエラーが発生しました:
-
アクセスが拒否されました。
アクセス制御の設定により、現時点ではリクエストが許可されません。これが正しくないと思われる場合は、サービス プロバイダーにお問い合わせください。
ページを開くために使用するコードは次のとおりです。
def get_site(request_user_link,request): # request_user_link is request for url entered by user
# request is request generated by current page - used to get HTTP_USER_AGENT
# tag for WIKIPEDIA and other sites
request_user_link.add_header('User-Agent',str(request.META['HTTP_USER_AGENT']))
try:
response = urllib2.urlopen(request_user_link)
except urllib2.HTTPError, err:
logger.error('HTTPError = ' +str(err.code))
response=None
except urllib2.URLError, err:
logger.error('HTTPError = ' +str(err.reason))
response=None
except httplib.HTTPException, err:
logger.error('HTTPException')
response=None
except Exception:
import traceback
logger.error('generic exception' + traceback.format_exec())
response=None
return response
現在のユーザー オブジェクトの HTTP_USER_AGENT の値を、ウィキペディアに送信する要求の "User-Agent" ヘッダーとして渡します。このリクエストに追加する必要があるヘッダーが他にある場合は、お知らせください。それ以外の場合は、別の解決策をアドバイスしてください。
編集:「User-Agent」ヘッダーを追加した後、昨日ページを正常に取得できたことに注意してください。今日、このエラーページが表示されるようです。