プログラミング初心者がスクレイピングを学んでいます。とりあえずスクレイピングした内容をローカルファイルにダウンロードできるようになったので忘れないうちに備忘録としてメモ。
#ウェブサイトから記事とURLをスクレイピングして結果をローカルPCにダウンロードするためのサンプル
#必要なモジュールのインポート
from bs4 import BeautifulSoup
import requests
import pandas as pd
# データフレームを作成
columns = ["記事タイトル", "URL"]
df = pd.DataFrame(columns = columns)
# requestsでウェブサイトから内容を取得してBeautifulSoupで内容を取捨選択など加工
res = requests.get("https:~~スクレイピングしたいウェブサイトのURL~~")
soup = BeautifulSoup(res.content, 'html.parser') # BeautifulSoupの初期化
tags = soup.find_all("XXXXX", {"class": "YYYYYY"}) # XとYはウェブサイトに応じて変わる
# 記事名とURLをデータフレームに追加
for tag in tags:
article = tag.a.string
url = tag.a.get("href")
se = pd.Series([article, url], columns)
df = df.append(se, columns)
#「to_csv」を使ってコードが保存されているのと同じフォルダにcsvファイルを保存
df.to_csv("./news.csv")
print("終了")