0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【メモ】BeautifulSoup4の使い方(2) Requestsで記事の見出しを表示

Posted at

インターネット上のWebサイトのhtmlには様々な情報が含まれており、自力で解析するのは難しい。そこでRequestsというhtmlを取得するライブラリを使う。

今回はMSN Japanの国内欄の記事の見出しの取得を通してRequestsの使い方を学んでいく。

In[1]BeautifulSoupとRequestsとReをimportする

In[1]
from bs4 import BeautifulSoup
import requests
import Re

In[2]変数urlshutokuにhtmlの情報を格納する

In[2]
urlshutoku = requests.get("https://www.msn.com/ja-jp")

In[3]ページ全体を表示してみる

In[3]
urlshutoku.text

In[3]を表示すると不要な情報の方が目立つので、今回必要な情報である見出しのみを表示する。そのために見出しの情報を取得しなければならない。そこで使うのがGoogleChromeのデベロッパーツールだ。

まず、見出しを右クリックし、検証(I)をクリックする。すると以下のような画面が表示される。
2020-10-03_220938.png

スクレイピングで用いるのは上記の画面の左側の英数字ばかりの情報だ。先ほど検証をクリックした部分の一番上の見出しの部分が青くなっていることを確認する。次に記事の見出しのurlに相当する<a href="/ja-jp/news/national/~">を確認する。他の見出しも同様になっているので<a href="/ja-jp/news/national/~">が手がかりになるようだ。

In[4]BeautifulSoupとhtml.parserで解析

In[4]
soup = BeautifulSoup(urlshutoku.text,"html.parser")

In[5]find_allを使って国内系の見出しを抽出

In[5]
midashi = soup.find_all(href=re.compile("/ja-jp/news/national"))

jupyternotebook上でmidashiと打つと見出しの情報が表示されるが、urlの情報も入っている。このままでは見づらいので文字だけ表示できるようにする。

In[6]for文とstringを使って文字のみ表示

In[6]
for ichiran in midashi:
    print(ichiran.string)

これで見出しのみが表示される。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?