前提・実現したいこと
一定のドメイン配下で、要素が取れるまで繰り返しスクレイピングを実施
イメージ:
https://sample.com/page=1
https://sample.com/page=2
.
.
https://sample.com/page=n >>> アクセス可能だが取り出したい要素がない
nを特段、指定せずに終了させ、CSV出力を実現したい
該当のソースコード
python
1records = [] 2 3def get_info(n): 4 load_url = 'https://sample.jp/page={}'.format(n) 5 html = requests.get(load_url) 6 soup = BeautifulSoup(html.text, "html.parser") 7 page_info = soup.find_all("a", {"class": "article_info"}) 8 return page_info 9 10def scraper(info): 11 title = info.getText() 12 url = info.get("href") 13 return {'Title': title, 'URL': url} 14 15n = 0 16while get_info(n) != []: 17 for info in page_info: 18 temp = scraper(info) 19 records.append(temp) 20 n = n + 1 21 22import datetime 23article_info = pd.DataFrame(records) 24article_info.to_csv('./article_data.csv'.format(now), index=False)
試したこと
Whileの条件部分が問題とわかっていますが、記述の仕方がわかりません。
ご教授、お願いいたします
あなたの回答
tips
プレビュー