前提
Pythonで業務改善に取り組んでいます。
request.get()で取得した結果を見るとbody部分が「リダイレクト中」になり、
スクレイピングを行うことができません。
対象サイトのurlを貼ることはできませんが、
各ユーザーが任意に日記をアップロードするようなサイトです。
実現したいこと
そのために、requests.get()を実行可能にしたいです。
発生している問題・エラーメッセージ
<body> リダイレクト中…。 </body>
該当のソースコード
Python
1res = requests.get(url) 2res.text
試したこと
Python
1from requests_html import HTMLSession 2 3session = HTMLSession() 4r = session.get()url) 5 6r.html.render()
を実行したところ、エラーメッセージ
Cannot use HTMLSession within an existing event loop. Use AsyncHTMLSession instead.
と表示されました。そのため、web上で見つけたコードを実行しました。
Python
1from requests_html import AsyncHTMLSession 2 3async def on_ready(): 4 session = AsyncHTMLSession() 5 r = await session.get(URL) 6 7 print(r.html.text)
実行結果は
location.replace("~ +" location.hash );リダイレクト中…
となりました。
[追記]
Python
1res=requests.get(url,allow_redirects=False)
で実行すると
<body> <center><h1>301 Moved Permanently</h1></center> <hr/><center>nginx</center> </body>
となりました。
補足情報(FW/ツールのバージョンなど)
Python,jupyter labを使用しています。
回答1件
あなたの回答
tips
プレビュー