taketea2018のアイコン画像
taketea2018 2026年02月28日作成
セットアップや使用方法 セットアップや使用方法 閲覧数 35
taketea2018 2026年02月28日作成 セットアップや使用方法 セットアップや使用方法 閲覧数 35

データサイエンス入門 第6回 webスクレイピング その2

データサイエンス入門

AIプログラミングで学ぶデータサイエンス

第6回 webスクレイピング その2 ~webページから条件を決めてスクレイピングする~

練習1のスクライピングは成功したでしょうか。

webページはhtmlを基本としています。さらに、華やかで見やすいページを構成するためにcssなどを組み合わせています。本連載ではhtmlページから必要な内容だけを抜き出す技術であるwebスクレイピングをPythonプログラムで実現する練習をしています。

webスクライピングPythonプログラミングは取り組むハードルが高いといいます。これは、対象となるwebページがサイトごとに違うために、構造をしっかり理解する必要がある点だと思います。

そこで今回はやや構造が複雑になったhtmlリストから特定の語句を含む部分を取り出すスクレイピングに挑戦します。

〇紹介動画は下記URLよりご視聴ください。

https://youtu.be/Je9RNNTWdI0

〇スライド形式pdf解説書です。

https://drive.google.com/file/d/1pQ-mPOgcbK51Xv5COMv9UXn8v-r9JdRs/view?usp=drive_link

〇演習用webページ

ren1_html.html(第5回目用)
https://drive.google.com/file/d/1gOf56S2u9_e5Msn55pF4PveI10cfF_p9/view?usp=drive_link

ren2_html.html(第6回目用)
https://drive.google.com/file/d/1Z84EAeOPikzAdn1W348RIb3DqUW1XYw6/view?usp=drive_link

〇サンプルプログラム

実行にはren2_html.htmlが必要です。

!pip install requests
#import requests from bs4 import BeautifulSoup #import re #import numpy as np from google.colab import drive drive.mount('/content/drive') # トップページを取得する URL = "/content/drive/MyDrive/data_science/3_ren2_html.html" # BeautifulSoupにページ内容を読み込ませる bsoup = BeautifulSoup(open(URL), "html.parser") print("bsoup:",bsoup.prettify()) #sub2の内容を取得する news_list= bsoup.find_all(class_="sub2") #news_list= news_list.find_all(class_="p") print("news_list:",news_list) print(" ") # list取得状況を確認する print("news_list[0]:",news_list[0]) print(" ") #list Text取得状況の確認 print("news_list[0].txt:",news_list[0].text) print(" ") #行分割 news_list[0]=news_list[0].text.splitlines()#行分割 print("news1_list[0].text.splitlines:",news_list[0]) print(" ") #空データの処理 naiyou=[] for work1 in news_list[0]: #print("work1:",work1) #リスト内データ表示 work1=work1.strip() #空白削除 if work1!="": #空リストでなければ naiyou.append(work1) #chushutuにデータ追加 print("naiyou:",naiyou) print(" ") #3つを取り出す news="" for i in range(1,3+1): news=news+" 〇"+naiyou[i] print("入門講座:",news)

GoogleColaboratoryにアップロードすればすぐに動作を確認できます。実行結果のサンプル付きです。
https://drive.google.com/file/d/11kN74kCJRZl6f1wBt5YY7L_TMDLSFe9T/view?usp=drive_link

〇補足

公開している動画と解説用pdfは電波新聞社刊行電子工作マガジンに連載された同題名の内容をGoogle NotebookLMにてまとめています

taketea2018のアイコン画像
終刊してしまいましたが、電子工作マガジンにデータサイエンス入門を連載させて頂いていました。内容をリニューアルしての再掲載とその続きを投稿する予定です。一読いただければ幸いです。
ログインしてコメントを投稿する