Pythonでスクレイピングする | youtube動画のヒット数を調べる
BeautifulSoup
題名のとおり。以前から興味を持っていたスクレイピングを試してみました。
結構簡単。
今回は、youtubeの検索結果のヒット数が知りたかった。いちいち手で打ってしらべるのが面倒だったので、Pythonでやってみる。Webページをコードからいじるのは楽しいです。
URLはこうなっている
https://www.youtube.com/results?search_query=lock+dance
"search_query="の後を変更すればいいわけだ。
コードはこうなった。
試したコード
# -*- coding: utf-8 -*- import urllib2 from bs4 import BeautifulSoup # 検索先 youtube_url = 'https://www.youtube.com/results?search_query=' # 検索ワード格納用バッファ search_querys = [] search_querys.append('dance') search_querys.append('ダンス') search_querys.append('ヒップホップダンス') search_querys.append('ヒップホップ+ダンス') search_querys.append('hiphopdance') search_querys.append('hiphop+dance') search_querys.append('lockdance') search_querys.append('lock+dance') search_querys.append('housedance') search_querys.append('house+dance') search_querys.append('breakdance') search_querys.append('break+dance') search_querys.append('breaking') # 検索結果格納用バッファ result = [] for search_query in search_querys: # アクセス先を生成 URL = youtube_url + search_query # htmlを取得 res = urllib2.urlopen(URL) # 料理する soup = BeautifulSoup(res.read()) # 予め取得したい要素を指定する a = soup.find('p', attrs={'class':'num-results'}) b = a.find('strong') # 結果の表示 print '--Result--' print u'検索ワード = ' + search_query.decode('utf-8') print u'約'+ b.string + u'件' # 結果の格納 result_child = {search_query, b.string} result.append(result_child) print result 結果 --Result-- 検索ワード = dance 約124,000,000件 --Result-- 検索ワード = ダンス 約3,250,000件 --Result-- 検索ワード = ヒップホップダンス 約4,630,000件 --Result-- 検索ワード = ヒップホップ+ダンス 約4,620,000件 --Result-- 検索ワード = hiphopdance 約176,000件 --Result-- 検索ワード = hiphop+dance 約558,000件 --Result-- 検索ワード = lockdance 約22,600件 --Result-- 検索ワード = lock+dance 約507,000件 --Result-- 検索ワード = housedance 約254,000件 --Result-- 検索ワード = house+dance 約7,950,000件 --Result-- 検索ワード = breakdance 約1,710,000件 --Result-- 検索ワード = break+dance 約3,100,000件 --Result-- 検索ワード = breaking 約15,300,000件
非常に参考になった資料
http://www.slideshare.net/checkpoint77/pythonweb-38279221
BeautifulSoupでスクレイピングのまとめ
http://taichino.com/programming/1531
Pythonらしいコードの書き方
http://kesin.hatenablog.com/entry/2013/05/12/004541
Pythonによるスクレイピング&機械学習 開発テクニック BeautifulSoup,scikit-learn,TensorFlowを使ってみよう
- 作者: クジラ飛行机
- 出版社/メーカー: ソシム
- 発売日: 2016/12/06
- メディア: 単行本
- この商品を含むブログを見る
- 作者: Ryan Mitchell,嶋田健志,黒川利明
- 出版社/メーカー: オライリージャパン
- 発売日: 2016/03/18
- メディア: 大型本
- この商品を含むブログ (2件) を見る
【Amazon.co.jp限定 】 ASUS ゲーミングモニター 23型フルHDディスプレイ (応答速度1ms / HDMI×2,D-sub×1 / スピーカー内蔵 / 3年保証) VX238H-P
- 出版社/メーカー: Asustek
- 発売日: 2014/05/28
- メディア: Personal Computers
- この商品を含むブログを見る
- 作者: 裕時悠示
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2016/11/17
- メディア: Kindle版
- この商品を含むブログを見る
- 作者: 丸戸史明,深崎暮人
- 出版社/メーカー: KADOKAWA
- 発売日: 2016/11/19
- メディア: 文庫
- この商品を含むブログ (2件) を見る
- 作者: 近江のこ
- 出版社/メーカー: 小学館
- 発売日: 2016/11/18
- メディア: Kindle版
- この商品を含むブログを見る