BeautifulSoup4での複数ページスクレイピング
ページが複数あるサイトのスクレイピングをしようと、下記のようなコードを書きました。
1ページ目を取得して色々処理した後、「e」の入力がなければ2ページ目~...と無限に繰り返すようなwhile文です。
import requests
import webbrowser
from bs4 import BeautifulSoup
targetSite = "http://abc.com/"
def getHtml(url):
response = requests.get(url)
response.encoding = response.apparent_encoding
return BeautifulSoup(response.text, 'lxml')
pageNum = 1
while True:
html = getHtml(targetSite+"page/"+str(pageNum))
~~~~略~~~~
inp = input("END?(e) >> ")
if inp == "e" : break
else:
pageNum += 1
しかし、2ページ目以降の処理になっても1ページ目のhtmlを取得しているようです。
試しにページ番号を固定にしてみたところ、ちゃんと取得できていました。
getHtml(targetSite+"page/"+str(5))
自分で調べてみてもよく分からなかったため質問させていただきました。
解決方法がありましたら、ご回答のほどよろしくお願い致します。