ページ内容を取得し、新たにcsvファイル化するには

Pandas の read_html() は table 要素を抽出しますが、今回の対象のウェブページは ul 要素で構成されています。
そのため、requests + BeautifulSoup を利用して li 要素内の span 要素を取り出します。

python

1import pandas as pd 2import requests 3from bs4 import BeautifulSoup 4 5def get_popular(url):6 # ページの内容を取得7 res = requests.get(url)8 res.raise_for_status()9 10 soup = BeautifulSoup(res.text, 'html.parser')11 artists = soup.select('span.artistName')12 songs = soup.select('span.songName')13 df = pd.DataFrame(columns=column_names)14 for artist, song in zip(artists, songs):15 df.loc[len(df)] = [artist.text, song.text]16 17 return(df)

コメントを投稿

0 コメント