###前提・実現したいこと
- httplib2を利用して、事前にファイルに格納しておいたURLを順番に読み込んで、内容を返すプログラムを作成しています。
- もしもURLがリダイレクトされている場合は、リダイレクト先のURLを読み込んで内容を返してほしいです。
###発生している問題・エラーメッセージ
- ブラウザでアクセスするとリダイレクトされているURLが、httplib2を使ってアクセスするとリダイレクトしてくれません。
- ステータスコードを確認すると、200を返してきます。
以下の通りにリダイレクトして内容を取得してほしいです。
- http://wc2014.2ch.net/2chse/ → http://rio2016.2ch.net/2chse/
- http://maguro.2ch.net/lang8/ → http://agree.2ch.net/lang8/
現状では、古いアドレスにアクセスして、リダイレクトせずにそのまま200が返ってきてしまうのです...
###該当のソースコード
python
1import httplib2 2http = httplib2.Http(cache='tmp/.cache', timeout=3) 3url_lists = ["http://wc2014.2ch.net/2chse/", "http://maguro.2ch.net/lang8/"] 4 5for i in url_lists: 6 response, content = http.request(i) 7 status = response.status 8 try: 9 if status != 200 and status != 302 and status != 304: 10 raise httplib2.HttpLib2Error 11 except (httplib2.RelativeURIError, httplib2.ServerNotFoundError, httplib2.HttpLib2Error): 12 print("エラー") 13 else: 14 print(status) 15 print(response['content-location'])
実行結果
200 http://wc2014.2ch.net/2chse/ 200 http://maguro.2ch.net/lang8/
###試したこと
- 本家のドキュメントを見たり、ググったりしましたがさっぱりでした...
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
- Python3.6.1
- httplib2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/12 13:07