見出し画像

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円ライター(便利なもの)となれますよう頑張ります。