あめがえるのITブログ

頑張りすぎない。ほどほどに頑張るブログ。

【AWS】スクレイピング(2.Beautiful SoupでHTML分析)


スクレイピング(2.Beautiful SoupでHTML分析)

前提

下記を実施しWeb情報を取得できていること
amegaeru.hatenablog.jp

実践!

1.Beautiful Soupインストール確認
1-1.SageMakerノートブックで下記を実行し、beautifulsoup4がインストールされていることを確認

pip list



2.HTML分析
2-1.下記を実行し、HTMLがタグで分割されていることを確認

import requests
from bs4 import BeautifulSoup

load_url = "https://xxx.co.jp"
html = requests.get(load_url)
soup = BeautifulSoup(html.content, "html.parser")

print(soup)

※あまりよくわからん。。。

3.タグを抽出
3-1.下記を実行し、タグが抽出されることを確認

import requests
from bs4 import BeautifulSoup

load_url = "https://xxx.co.jp"
html = requests.get(load_url)
soup = BeautifulSoup(html.content, "html.parser")

print(soup.find("title").text)


4.タグの全要素を取得
4-1.下記を実行

import requests
from bs4 import BeautifulSoup

load_url = "https://yahoo.co.jp"
html = requests.get(load_url)
soup = BeautifulSoup(html.content, "html.parser")

for element in soup.find_all("li"):
    print(element.text)



5.idやclassタグで特定要素を取得
5-1.下記を実行

import requests
from bs4 import BeautifulSoup

load_url = "https://yahoo.co.jp"
html = requests.get(load_url)
soup = BeautifulSoup(html.content, "html.parser")

for element in soup.find_all(id="Message"):
    print(element.text)



6.リンク一覧取得
6-1.下記を実行

import requests
from bs4 import BeautifulSoup

load_url = "https://xxx.co.jp/"
html = requests.get(load_url)
soup = BeautifulSoup(html.content, "html.parser")

for element in topic.find_all("a"):
    print(element.text)
    url = element.get("href")
    print(url)