見出し画像

pythonでWebスクレイピングやってみる①

こんにちは
プログラミング超初心者の試行錯誤をやっていきたいと思います。
5ヶ月ぶりにpythonをまた、勉強しています。

今回できたことは

yahooのトップページからタイトルとURLを抽出するところまでです。
・・・目指すところまで遠いような

スクレイピングって何?

Webページから情報を抽出することです。
記事のタイトルやURLなどを抽出できます
禁止されていたり、法律に抵触する場合もあるのでその辺が難しいですし、注意が必要です。

HTMLタグ等で、サイトのどこに記載されているかを特定し、該当情報を抜き出すのがスクレイピングの基本のようです。


さっそくやってみましょう

必要なライブラリを用意します

pipコマンドで以下をインストール

・requestsをpip installする

pip install requests

・beautifulsoup4をpip installする

pip install beautifulsoup4

■requestsとは
インターネットにリクエスト送信を行って、レスポンスを受領する

■BeautifulSoupとは
取得したHTMLデータから、HTMLタグやCSSのセレクターで欲しい情報を削り取る

出来たソースコード

"""
yahooトップページをWEBスクレイピングしてみよう
"""
 #必要なライブラリをインポート 
import requests
from bs4 import BeautifulSoup
 #スクレイピング対象とするサイトのURL 
url = "https://www.yahoo.co.jp/"
 #Getメソッドでレスポンスを取得 
res = requests.get(url)
 #レスポンスのテキスト情報を変数に格納 
soup = BeautifulSoup(res.text,'html.parser')
 #BeautifulSoupのfindメソッドでh1タグを抽出 
title = soup.find('h1')
 #h1タグで囲まれているテキスト部分をprint関数で出力 
print("WEBページのタイトルは " + title.string)
 #findメソッドでh1タグを抽出し 、さらにその配下のaタグのhref属性を抽出
link = soup.find('h1').find('a')['href']
print("WEBぺーじのURLは " + link)


出力されました

WEBページのタイトルは Yahoo! JAPAN
WEBぺーじのURLは https://www.yahoo.co.jp


本日はここまでにさせてください。

少しずつコツコツ勉強をやっていきたいと思います。

発想点を実現できるようにコツコツ作っていきたいと思います。

良かったらまたお願いします

もしよろしければ、私にコーヒー一杯分をお恵みいただけましたら、この上ない幸せです。今後も皆様の100円ライター(便利なもの)となれますよう頑張ります。