pythonでwebスクレイピング

taketoshi
記事: 222
登録日時: 14年前
住所: 日本国

pythonでwebスクレイピング

投稿記事 by taketoshi » 4年前

お盆ラストのpython日記です。

一週間でWebスクレイピングまで来れた!
この一週間の流れとしてはこんな感じ

・本を買って三日でpythonプログラムの言語仕様を掴む
・RSSリーダーを作るためにライブラリの使い方を調べRSSリーダーを作る
・Linuxや別のWindowsで動かして環境構築を学ぶ
・Webスクレイピングをやる←今ココ

家事の合間もyoutubeでpython学習用チャンネルで勉強してました。
キノコード。オススメ。

RSSリーダーの作成にはfeedpaserを使用しましたが。
今回はHTMLを丸ごと引っ張ってくるrequestsと
そのHTMLを解析(パース)するBeautifulSoupを使用しました。

pythonのライブラリ名はほかの言語に比べて一線を画していると思う。

練習問題としてヤフーニュースから千葉王国の天気概要を引っ張ります。

CODE:

import requests
from bs4 import BeautifulSoup as bs

szUrl = "https://weather.yahoo.co.jp/weather/jp/12/"
url = requests.get(szUrl)
soup = bs(url.content, "html.parser")

elems = soup.find_all("p")

for elem in elems: 
  try:#エラーが出ても続行
    string = elem.get("class").pop(0)
    if string in "text jsoff":
      print(elem.contents)

  except:
    pass

これでHTMLをひっこ抜いて解析してから千葉王国の天気概要を取得することができました。
構文解析にはHTMLの知識も多少なりとも必要となってきます。

お盆を掛けましたがpython初心者からpython使ったことある。
くらいにレベルアップです。

次は何をやろうかな。

コメントはまだありません。