編集履歴一覧に戻る
taketea2018のアイコン画像

taketea2018 が 2026年02月28日19時44分57秒 に編集

初版

タイトルの変更

+

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

タグの変更

+

Python

+

スクライピング

+

データサイエンス

記事種類の変更

+

セットアップや使用方法

本文の変更

+

# データサイエンス入門   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にてまとめています