2019-03-03に投稿

pandas入門 .head()で先頭から要素を抜き出す

データをいろいろ扱いたい

google Colaboratoryは、環境構築不要で色々できるのが魅力です。
スクレイピングで得たデータもPythonでごにょごにょしたい。そういう時はpandasを使うようです。
今回はスクレイピングデータから最初から任意の要素を抜き出します。

元となるデータ

元となるデータはCrieitさんのタイトル一覧です。

from bs4 import BeautifulSoup
import requests
import pandas as pd 

columns = ['title']
df = pd.DataFrame(columns=columns) 

base_url = "https://crieit.net/posts?page="

num = 1
while num <= 1:
 url=base_url+ str(num)
 r = requests.get(url)
 soup = BeautifulSoup(r.text)
 titles =soup.select("h5 a")
 if len(titles) == 0:
  print("これ以上記事はありません")  
  break
 num += 1
 for title in titles:
  se= pd.Series(title.text, columns)
  df = df.append(se, ignore_index=True)
df

.head

.head()を使うことで先頭から5つの要素を抜き出すことが可能です。
任意の数を表示させる場合はdf.head(10)などのように引数を渡します。

出来たコード

試しに6つまで取得するコードを書いています。

from bs4 import BeautifulSoup
import requests
import pandas as pd 

columns = ['title']
df = pd.DataFrame(columns=columns) 

base_url = "https://crieit.net/posts?page="

num = 1
while num <= 1:
 url=base_url+ str(num)
 r = requests.get(url)
 soup = BeautifulSoup(r.text)
 titles =soup.select("h5 a")
 if len(titles) == 0:
  print("これ以上記事はありません")  
  break
 num += 1
 for title in titles:
  se= pd.Series(title.text, columns)
  df = df.append(se, ignore_index=True)
df.head(6)

動くサンプル

Python3

Originally published at www.corylog.com

view_list [連載] pandas入門
第1回 pandas入門 google Colaboratoryでローカルファイルを読み込む方法
第2回 pandas入門 .head()で先頭から要素を抜き出す
第3回 pandas入門 .tail()で末尾から要素を抜き出す
第4回 pandas入門 .shapeで列数と行数を調べる
第5回 pandas入門 .indexでインデックスを調べる

aocory

Crieitはβバージョンで開発中です。進捗は公式Twitterアカウントをフォローして確認してください。 興味がある方は是非記事の投稿もお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

関連記事

コメント