SlideShareの検索機能に満足できなかったので、Googleのsiteコマンド検索( 「機械学習 site:slideshare.net 」)で集めてき
た、機械学習に関するスライド520件のURLに対して、タイトル・ビュー数・公開日をWebスクレイピングにより取得してみました。
以下の表はビュー数の順番で並んでいます。WordPressのTablepressというプラグインを使っているので、簡単に検索ないし100件表示なども行えます。数の多いものから見ていこうと思います。
(取得用の稚拙なPythonコードは最下部に載っています。)
(URLがリンクになるように改良しました。)
[table id=3 /]
一応、SlideShareのURLのCSVファイル(N行1列のデータ)があれば取得できるPythonコード(2系)を載せておきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
import urllib, urllib2, csv from bs4 import BeautifulSoup from BeautifulSoup import BeautifulSoup from urllib2 import Request, urlopen, URLError, HTTPError import sys, string, codecs, time, re from httplib import BadStatusLine, IncompleteRead #CSVでリストを読み込む。 f = open('url_list_ss.csv', 'rb') dataReader = csv.reader(f) #結果の出力用のリストを作る。 data01 =[] data02 =[] data03 =[] data04 =[] data05 =[] for row in dataReader: for url in row: try: res = urllib2.urlopen(url) soup = BeautifulSoup(res.read(),fromEncoding="utf-8") time.sleep(5.0) #sleep(秒指定) for title in soup.findAll("div",{"class":"small-10 columns"}): for views in soup.findAll("div",{"class":"small-2 columns text-right format-views"}): for times in soup.findAll("time",{"itemprop":"datePublished"}): data01.append(url) data02.append(''.join(title.findAll(text=True))) data03.append(''.join(views.findAll(text=True))) data04.append(''.join(times.findAll(text=True))) data05.append("contentslist") #データ結合 data = zip(data01,data02,data03,data04,data05) #CSV出力 f= open('ss_extract_result.csv','w') writecsv = csv.writer(f,lineterminator='\n') for x in range(len(data)): writecsv.writerows([data[x]]) except HTTPError, e: print e.code except BadStatusLine: print "could not fetch" except IncompleteRead: print "IncompleteRead" except IndexError: print "IndexError" |