目次
事前準備
【Pythonスクレイピング入門】Requestsモジュールを使ったHTTPリクエスト | Let's Hack Tech
必要なもの requests Pythonスクレイピングライブラリはいくつかあり、標準でもurllibというのが搭載されています。とりあえず手軽なこともあり、標準のurllibよりrequests...
requestsでヤフーのトップページにGETリクエストを送ってレスポンスを取得できたと思います。
import requests url='https://www.yahoo.co.jp' res=requests.get(url)
ここまでですね。この3行でresという変数がレスポンスのオブジェクトを持っています。
今回はレスポンスの本体部分を解析し、必要な情報を抜き出すためのセレクタを取得します。
必要なもの
- Google Chrome
別にChromeでなくても最近のブラウザは大体デベロッパツールついているのですが、僕が使ってるので、今回はこれで行きます。
解析
WEB上からほしい情報を持ってくるためには、ほしい情報がどのようなHTML構造になっているか知る必要があります。
今回はヤフートップのニューストピックスをターゲットとします。
Chromeデベロッパーツール
基本的に簡単なスクレイピングであればこれだけ使えれば、大体わかります。クロームで目的のページを開いて、F12キーで起動できます。
窓が立ち上がります。
ここをみながらターゲットとするHTMLをどう指定すればいいかを考えます。
今回はめんど
ではなく、使いまわす必要がないため特定のHEML箇所を一発で指定する方法を紹介します。
CSSセレクタをコピー
目的の箇所付近にマウスを合わせて右クリック→コンテキストメニューから「検証」を選択。
そうすると目的の箇所がデベロッパツール上で選択された状態になります。
そのHTMLの行にマウスオーバーするとトピックスの箇所もブルーでハイライトされた状態になります。
目的のHTMLの記述された行の上でさらに右クリック→Copyを選択
出てきたサブメニューの中から”Copy selector”を選択すると・・・
#topicsfb > div.topicsindex > ul.emphasis
こんな感じでクリップボードにコピーされます。
まとめ
今回は解析なので3行コピペありません。
次の記事
【Pythonスクレイピング入門】bs4(BeautifulSoup)をインストール | Let's Hack Tech
事前準備 requestsでヤフーのトップページにGETリクエストを送ってレスポンスを取得。res変数にhttpレスポンス格納済みです。 import requests url='https://www.yahoo.co....
コメント