リンク一覧を検索してファイルに書き出す
今回、テスト用として自前で下記のような簡単なWEBページサンプルを用意してみました。
完成はこんな感じです。
このHTMLをスクレイピングしてみましょう。
解説
import requests | 事前にコマンドプロンプトでインストールしたインターネットにアクセス命令する外部ライブラリ「requests」、これをimportします。 |
from bs4 import BeautifulSoup | 事前にコマンドプロンプトでインストールしたHTMLを解析する外部ライブラリ「BeautifulSoup」、これが入っているbs4というパッケージからBeautifulSoupをimport |
load_url = “https://www.roadtoupload.com/学びファイル/python2年生/Python_sample1.html” | 変数load_urlに解析するWEBページアドレスを代入 |
html = requests.get(load_url) | 変数htmlにネット上のHTMLファイルを読み込む命令のrequests.get(load_url)を代入します。 |
soup = BeautifulSoup(html.content, “html.parser”) | 変数soupにBeautifulSoupを使ったHTML解析の命令を代入します。 |
for element in soup.find_all(“a”): | リストから1つずつ取り出すためfor文を使用し、すべてのaタグを探しリストで返すfind_all(”a”)とします。 |
print(element.text) | 取得した文字列データを表示します。 |
url = element.get(“href”) | href属性を取得し、それを変数urlとします。 |
print(url) | 取得したデータを表示します。 |
実行結果
2つのリンクがうまく取り出せました。ただ、取り出せたの1つはwww.~の「絶対URL」ともう一つは「相対URL」です。絶対URLはそのまま使えますが、相対URLはそのままでは使えません。
*尚、ここではバージョン「Python 3.10.1」を使用しています。
この本を参考に学び、完成させることができました。しかし、ここではプログラミング初心者の私が詳しく解説することは、おこがましく、難しく出来ません(ToT)
その点、この本では丁寧な解説が載っていますので、解説とともにコードを書き、完成させればより深く学ぶことができます(^.^)、実際、初心者の私でもわかりやすかったです。身に付け消えないスキルが2,000円程ならコスパよく、買っておいてよかったと満足してます。
わからないことはプロフェッショナルから学ぶのが一番
オンラインで受講ができるスクールですので、全国どこからでも。