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" |