url="https://rtrp.jp/locations/332/categories/291/?order=retrip_score&page={}" for i in range(1,6): target_url=url.format(i) print(target_url) res=requests.get(target_url) soup=BeautifulSoup(res.text,'html.parser')
1ページから5ページの内容を全てスクレイピングするにあたって
print(target_url)の時点で1~5ページのURLは取得できるのですが、
requestsモジュールでは5ページ目の情報しか取得できません。
全頁の取得、解析方法をご教示願います。
インデントが崩れているので、どこまでループするコードなのか判別がつかないです。
質問を編集して、コードの部分をコードの挿入(</>)ででてくる書式の中に入れてください。
url="https://rtrp.jp/locations/332/categories/291/?order=retrip_score&page={}"
for i in range(1,6):
target_url=url.format(i)
print(target_url)
res=requests.get(target_url)
soup=BeautifulSoup(res.text,'html.parser')
失礼いたしました。
最後のbs4の解析までです。
ここに書いてもだめです。
質問を編集して、コードの部分をコードの挿入(</>)ででてくる書式の中に入れてください。
やりかたがわからなければ、使いかたのドキュメントを確認ください。
修正いたしました。
よろしくお願いします.
提示されたコードには問題なさそうですが、「5ページ目の情報しか取得できません」はどのように確認されましたか?
提示のコードは取得しただけで、どこにも出力していないので、このループを回しただけでは何も起きませんから。
新しく立ち上げたセルで
print(target_url)
を出力すると5ページ目のURLしか出力されませんでした。
同様にres.textを出力してみたところ、5ページ目のものしかないことが
わかりました。
出力コードはどこへどのように書いたのですか?
解決しているので不要と思いますが、
「新しく立ち上げたセルでprint(target_url)」をしても、target_url はループの度に上書きされてしまうので、ループ終了後は最後の値しか持っていないからです。
必要なら、ループの中で値を取得/表示しましょう。
回答1件
あなたの回答
tips
プレビュー