はてなキーワード: スクレイピングとは
すでに学生でもないのになぜこの件について書いているか自分でも分からないが、例の穏便でない大学教授の発言にブーストされた感がある。
まず前提として、ID/パスワードを用いてスクレイピングを行うサービスそのものは、特殊というほどではない。そのようなサービスはすでにいくつも存在するし、最も有名なところでは口座アグリゲーションサービス(MoneyForward等)だ。彼らは業としてそのようなサービスをおこなっている。セキュリティのこと少しでもわかる人間ならそんなサービスやらない、というほどでもない。ただし、セキュリティが分かる人間であればあるほど慎重になる、というのは確かではある。通常ID/パスワードを渡すということは、全権委任とおなじだ。また、ログイン後の行動について、自分がやったか第三者がやったか、全く判別できない状況になる。さらに通常のWebセッションと同等だとすると、パスワードリセットから完全なアカウント乗っ取りまであり得る。つまり、サービス事業者に対してよほど強い信頼関係がなければ厳しい、ということになる。
クラウド上で動いているかスマホ上で動いているか、という話は、それほどは重要ではない。クラウドにしろスマホアプリにしろ、すべてサービス事業者側の組んだプログラムの意図に従って動くものであることは確かだからだ。
ただしクラウド上ではユーザが想定していない動作を行っているのかどうかという検証しにくいという問題があるとはいえる。とはいえユーザが予め意図した行動から外れることをしてないのであれば、クラウドからのアクセスでも別にそれは問題ないわけで、その点で、Orario側の主張である「スマホで動かしているのだから」という主張は、ちょっと見当はずれではある。
なお、ユーザインタラクションを介さない自動的なアクセス自体がサービス要件に含まれる場合、スマホでは厳しいためクラウドにアクセス主体が置かれる、というのは、まああり得る。口座アグリゲーションはその典型的なものだろう。Orarioの場合は、たぶんその必要はないのだと思う。
正規の手段として学認があるのになぜしない?という主張は、マジでひどいと思う。普通に考えて、ぼっと出の1ベンチャーがトラストサークルに加えてもらえると思っているのか。このような主張は、Google/Facebookレベルに自由にAPIクライアントの登録ができるようになっていて、初めて言えるものだろう。通常は、世に受け入れられるサービスが出て初めて実行力を認めてもらえる、にわとりたまごの話ではないのか。そもそも、学認のShibboleth仕様で、そのような履修情報のやりとりがそもそもできるようになっているのか疑わしい。ホントはSSOできるだけではないのか?
大学側にお伺いを立てるべき、という筋論は、そりゃそうかもしれないけど、やっぱりにわとりたまごだと思う。ビジネスの筋論っていうやつは、内輪だけの論理になっている場合が多いし、正直ステークホルダーは既得権益側だったりするわけで、話が通じるとは思えない。そのようなものを破壊していくのは常に外部からだろうし、それを単なる破壊行為ではなくDisruptionにできるのは唯一ユーザからの支持であるわけだけど、Orarioは最低限そこはできていたようにもみえる。例の教授はどうも内側のメンバーの感じがひしひしと出ており、傍目から見ると、そりゃそのポジションじゃあね感が強い。
事業モデルがわからないから怪しい、事業が成り立つとしたら収集したデータの第三者への販売ぐらいしかないはずだ、という主張は、気持ちはわかるものの論理として弱い。怪しいサービスに預けるな、というのは、意見の表明ではあるかもしれないが、普遍的に怪しさを証明するには根拠が足りていない。利用規約レベルではまだなんとでもいえる。逆に言うと、Orario側は、そういう色が少しでもあったのでは?と思わせるような内容を否定してさえいけば、その点では勝てるが、やっぱりそこは何らかの形で検討して行きたかったのでは、とも思えるので、そういう将来の自分たちを制限することはことはあまりやりたくないだろうなとは思う。
結論を言うと、とりあえず大学側はもうすこしトーンを落としてほしい。このままではFUDだといわれても仕方ない。単位云々の脅しは傲慢以外の何物でもない。少なくとも卒業生にとってそのような大学にいたことを恥じるレベルである。嫌なのは分かるが、銀行とかだってそうだったはずだ。もうすこし長い目で見てあげられないのか。ID/パスワードを預けることのユーザへの注意喚起は、もちろん正当だが、それを認識して預けていることについてとやかく言うことは得策でない。
そして、Orario側は、自分たちがやっているサービスの説明に少し時間を割いてもいいと思う。特に何をどのように取得しているのか、明確にすることは重要だ。大半のユーザたちはそういうこと気にしないとしても、自分たち自身が自分たちのサービスを定義するのに役に立つし、今はEvilでなかったとしてもいつかEvilになってしまうのを防ぐという意味合いもある。面倒かもしれないが、取得範囲を明確にすることは信頼を得るということであり、最終的にユーザの獲得に寄与するだろう。
現在大学の中でOrarioのアクセスがどうこうという問題が起きているようだが、
ひとまずこの記事については、下記URLにある、京都大学の専門家であらせられる記事について、一人歩きしてる感があるので、
もう少し彼のような上流側(という表現で良いかどうかは不明だが)の専門家ではなく、
下流でプログラムをガッツリ書いているほうの専門家として私(匿名で失礼)が纏めたいと思う。
https://srad.jp/~yasuoka/journal/611343/
Orarioの芳本大樹が書いた『時間割アプリの「Orario」の特性と安全性について』(2017年4月17日)という文書を読んだ。このOrarioは、京都大学のKULASISにずっと不正アクセスを繰り返していて、正直なところ私(安岡孝一)としてはアタマに来ていたのだ。
Orarioの特性と安全性について、本当にスクレイピング技術をクライアント端末側で行っているのであれば、
この部分は間違いではないと私(匿名で失礼)は考えている。
この部分の書き方、実に大学教授らしい逃げ道を多く用意していて。
KULASISにずっと不正アクセスを繰り返していて
上記発言、これは本来「開発時の検証段階」の話をしているのであれば「正解」、である。
逆に今のOrarioの通信についてを不正アクセスとしているのであれば「正解ではない」、である。
何せ、開発者が勝手にアカウントを使って入り込んで様々な検証を行う必要があるため、
KULASISサーバに対してクラッキング/ハッキングを行って根こそぎどうこうしたなどという大がかりな不正アクセスではなく、
あくまで大学側が定める規約規則から若干外れた使われ方がされているという意味の不正アクセスである。
(そもそもスクレイピングなんて技術を使う連中はID/PASSWORDがない状態でのサーバへの不正アクセスなどできない
開発時は「京大のKULASISアカウントをもったユーザが開発に携わっていないのであれば」押し出してきている京大の規約によれば、不正アクセスにあたるのかもしれない。
個人的には当たらないと感じるが。
京大の規定に定められたユーザが「特定のブラウジングツール(Orario)」により、
KULASISにアクセスしているのだからアクセスとしては不正ではない。
本当にスマートなWebスクレイピングで行われているのであれば、Webブラウザと全く同じ動きをするはずで、
それを不正アクセスと断罪してOrarioは不正というのは表現が汚いと考える。
これはコメント欄にもあるが、
https://srad.jp/comment/3196554
また、ChromeやSafari(及びその他マイナーなWebブラウザ)なども御校のWebサーバーよりコンテンツデータを取得し、HTMLを構文解析し画面表示を行っていますが、これらはセキュリティポリシーには適合しているのでしょうか?
ご大層にはっておられるリンクを流し読みをする限り、そんな厳格に何かを定めているわけではないように思われる。
それ故、実際にOrarioがスマートフォンによるスクレイピングを行っているのであれば、
Webブラウザの一種とも言えなくはない為、これを不正と断ずるのは、「正しくない」だろう
京大のユーザが開発に携わったかを証明できない以上、彼にとっては不正なのかもしれないが、
ここでそれをOrarioは不正アクセスと断ずる論理性が私(匿名で失礼)にはわからない。
他にもこの部分
Orarioアプリでは「Webオートメーション(Webスクレイピング)」と呼ばれる技術を用いています。この技術により、利用者様のスマートフォン(にインストールされているOrarioアプリ)に学生アカウント(大学ID・パスワード)を入力すると、自動で当該利用者様の教務用ページから時間割の生成に必要な情報のみを取得し、Orarioアプリの時間割テーブルに当該利用者様の時間割を生成・表示することができるという仕組みとなっています。
全く信用できない。少なくとも先月以前、OrarioからKULASISへのアクセスパターンを解析した限りでは、そんな風なアクセスパターンには見えなかった。嘘を書くのもいい加減にしろ。
Webスクレイピング技術に関して、なぜアクセスパターンが問題になるかが一つ疑問である。
下記のOrarioが出しているPDF(http://www.orario.jp/wp-content/uploads/2017/04/Orario%E3%81%AE%E5%AE%89%E5%85%A8%E6%80%A7%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E8%A6%8B%E8%A7%A3.pdf)にあるように、簡単にいうならばID/Passwordを利用したPOST通信を行い、その返答値をスクレイピング(切り貼り)している。
それをアクセスパターンを解析で一体何が取れるのか?という部分が、この辺りが分かる自称専門家の私(匿名で失礼)にもさっぱりわからない。
もっというと、「そんな風なアクセスパターンには見えない」、というならば、セキュリティの観点上公開すべきではないだろうか、
逆に一体アクセスパターンを見て私(匿名で失礼)も何を行っているのかが気になるところである。
ただでさえ、不正アクセスという言葉をつかって攻撃しているわけだから、
アクセスパターンを公開して断罪すべきだし、セキュリティ観点からみても他大学との共有はすべきで、
学生に対してもその証拠を出して止めさせるべきだろう、というのが個人的見解である。
学生の求める「単位」をつかって脅しをかけている時点で、お察しだが……。
そもそも上記で述べた開発時のほぼ不正アクセスと考えられる通信についてを「アクセスパターン解析で見つけた」というのであれば理解ができるが、
現在すでにスクレイピングが確立している通信に関して、アクセスパターンでOrarioかどうかを判別するのが可能かというと何とも言えないと思う。
(ご丁寧にOrarioが通信用のUserAgentにOrarioの文字を含めているなら別だが……
(もちろん、アクセスログを見て、ログインページからWebスクレイピングしたいページへ遷移するまでの時間を取るとあまりに短すぎる、という話ならやれるかもしれないが……。
たとえKULASISが京都大学がオリジナルで開発した大学教務事務パッケージだとしてもそうだろうと考えている。
同様に日立や富士通も同じような大学教務事務パッケージがあるが、
基本ログ処理がザルでろくにuser-agentの確認もできない大学も多く存在したりすることを知ってる自分としては、
本当だろうか?嘘を書くのもいい加減にしろ? と思う。
UIが糞(システムのスマートフォン対応がノロい)だからアプリが流行るということに気づくべき。
富士通、日立にしてもそうだが、APIを提供したほうがいいのではなかろうか。
とくにKULASISだったか何だったは、京都大学謹製と聞いている(違ったら失礼
少なくとも他の大学教務事務パッケージではなかったと記憶している。
であれば、京都大学がAPIを提供し大学側で専門家を集めてOrarioを超えるものを作ってはどうか?
実際大学でこういうことをやろうにも、問題になってくるのは予算で。
教務、事務、学務、図書館、など様々な縦割りが存在し、それぞれがそれぞれの予算でそれぞれのシステムを入れている。
これが実に糞で。
一つの大きなシステムを入れ替えるとなると、横との連携をとって全ての組織の号令をとらなければならない。
ここまで問題になってくるとやはりその辺りの対応の遅さが問題なのではないかと考えている。
大学がアホ → 学生に良い物を提供したいという思いがあるならもっとフットワーク軽くしろ
教授がアホ → 曖昧な表現で、素人を先導しようとするのが見え見えで気に入らない
Orarioアホ → コメントにもあるけどやり方が汚いのは確かだから甘んじて受け入れろ
以上です
http://anond.hatelabo.jp/20170215193247
7,086個のIDが12,216回のブックマークを行って11の1000超え記事を生み出していた。1ID平均1.72ブクマ。
http://b.hatena.ne.jp/ranking/weeklyで1000ブックマーク以上されている11記事中n記事にブックマークしているID数
8, 23ID
7, 42ID
6, 71ID
5, 130ID
4, 263ID
3, 624ID
2, 1595ID
重複なし, 4314ID
(注: n重複のID数の中にn+1重複のID数は含まれていない。つまり10重複のID数の中に11重複のID数は含まれていない。)
ttp://b.hatena.ne.jp/entry/www.nakahara-lab.net/blog/archive/7308 (※この行間違えてたので修正)
ttp://b.hatena.ne.jp/entry/s/togetter.com/li/1079883
ttp://b.hatena.ne.jp/entry/omocoro.jp/kiji/101534/
ttp://b.hatena.ne.jp/entry/qiita.com/shu223/items/9e3a50e092c2997fe6d2
ttp://b.hatena.ne.jp/entry/ironna.jp/article/5686
ttp://b.hatena.ne.jp/entry/blog.tinect.jp/?p=36441
ttp://b.hatena.ne.jp/entry/s/togetter.com/li/1078513
ttp://b.hatena.ne.jp/entry/careersupli.jp/lifehack/eiga/
ttp://b.hatena.ne.jp/entry/www.lifehacker.jp/2017/02/170205_free_alternatives.html
ttp://b.hatena.ne.jp/entry/anond.hatelabo.jp/20170206102543
ttp://b.hatena.ne.jp/entry/appmarketinglabo.net/staba-sns/
はてブのページはスクレイピングを拒否するかのようにJavaScriptで描画しているわ、コピペすると1ブクマ3行になっているわ、3行固定かと思えば2行のところがあるわ、めちゃくちゃなのでもうやらない。
結構簡単にできた。
ここから、ページ切り替えてURLを収集する処理も追加すれば、
クローロング部分は完成。
require 'nokogiri'
url = 'http://ja.aliexpress.com/category/200003482/dresses.html?spm=2114.52010108.6.7.gT0qlW&addpid=32546825642&isOnSale=yes%22'
charset = nil
end
doc = Nokogiri::HTML.parse(html, nil, charset)
num=0
doc.css('a[class = "product "]').each do |product|
p product.attribute("href").text
p num = num+1
end
発達障害が判ってからプログラマ目指した訳じゃないし、納期が守れないとか、バグで迷惑かけたとかはない。でももし先に発達障害が判ってたらやらなかったかもしんない。
俺が受注する案件はシステム屋さんとかに本格的に頼むには小さいとか、コストが掛かりすぎるけど、かといって自分達で拵えるのは難しいというスキマ案件。webページの制作、スクレイピングシステム、サーバ等のインフラ準備、業務に使う簡易なデータベース構築、wordpressなんかのcmsのカスタマイズ、ExcelとかのVBAなんかも範疇といったらレベル判ってもらえるだろうか。手にあまりそうな案件なら事前にお断りさせてもらうし。案件安いよ。年収も低い。
2chまとめサイトを嫌う人たちが、レスの名前欄や本文などにアフィリエイターが嫌がる文言を入れているのをよく見かける。
「アド⚪⚪スクリックしてください」とか
「こうしておけばまとめにくいだろ。アフィカスざまぁ」とか思いながらやっているのかも知れないが
そんなの正規表現等で一発変換・消去できるし、そもそも手作業でなんかまとめない。
もっと言えばブラックリストワードを学習させてDBにするので新しい文言を
入れてきてもすぐに対応できる。
メニュー、スレッド、レスのデータをスクレイピングしてDBへ、ブラックリストワードの変換・消去、リンク・画像等のリプレイスやファイル化、CMSと連携して記事化するところくらいまでほぼ全自動なのでそういった妨害は全く意味なし。(唯一作業らしいののはレスを読むことくらい)
ちなみに2chでニュース系の板単体では生きてるスレッド数が常時700~1000程度、レス数は合計で100000~150000くらいになる。この量なら3分くらいで全て取得、ブラックリストワードを変換・消去した上でDB化できる。
毎日毎日、動画を探してきてはシコシコと投稿して暮らしています。
ふと思い立って1日の記事更新数を12回から24回に増やしてみたところ…
いやもうほんと大変。
う~ん、どうにか楽できないもんかね?
ということで、
XVIDEOSの動画ページのURLを貼り付けたらサムネイルが出てくるという、
エロ動画サイトの管理人には夢のような更新補助ツールを自作してみました。
このツールを使えば、
動画を再生して、良い感じのとこで一時停止して、キャプチャーソフトで保存する…。
そんな面倒くさい作業から解放されるのです!これはすごいっ!!
何がすごいのか分からない一般人には糞の役にも立たないツールです。
※当サイトについてというページの「サムネイル自動取得ツール」のリンクで公開してます
ご存知の方も多いと思いますが、
XVIDEOSでは1つの動画に対して30枚の画像がサイズ違いで4種類も用意されています。
で、上のページにある検索窓みたいなとこに
XVIDEOSの動画ページのURLを貼り付けるとあら不思議、サムネイルが30枚ずらずら出てきます。
そして使いたい画像をクリックすれば、どどん!と下に出てくるようになっています。
「サムネイル」「小サイズ」「中サイズ」「大サイズ」の4種類のURLをコピペして使うなり、
ダウンロードして使うなり、煮るなり焼くなり好きなようにしちゃってください。
ついでに動画の埋め込みコードもコピペできるようになってます。
あと使うかわかりませんが、XVIDEOSのサムネイルURLを貼り付けても使えるようにしています。
スクレイピングサイトだったら1日50記事とか100記事とか自動で更新されてるんでしょうけど、
こっちが必死に作った記事をサクッと盗まれてるのがすっごい悔しくて。
私みたいに自力で更新している管理人さん達がちょっとでも楽できたら…。
なんて思ったりして自分一人で使うだけじゃなくて公開することにしました。
このツールを使って節約できた時間をアクトレ作業に回したり、さらに更新回数を増やしたり、SEOの勉強したり。
そんなこんなでアクセス数が倍増しちゃったりしたら最高ですよね!
とりあえず、サイトはこちら
エロサイトはたくさんあるが、どれも似たようなものでいまいち使いにくい
世の中の男性には万人に理解されない性癖があると思う(自分も)
エロサイトのほとんどはカテゴリも大まかにしかまとめらていないので完全に自分が求めている動画に出会えないので自分で作ってみることに。
厳選したエロ動画を集めたいのでスクレイピングはしないで完全手動で運営することにした。
wordpressをインストールしてオリジナルデザインのテーマを作成
熟女の種類も三段階で分けてみた。(他サイトでどうみても20代が人妻という理由で熟女扱いされている時があったから)
他にもいろいろ細かく分けている。
ネットで検索しもっとマニアックなものがあったら随時追加していきたい。
かつて好きだった人の写真や好きな芸能人の写真から顔が最も似ているAV女優を検索するサービス。
既に好きなAV女優から新たなAV女優を発掘するという利用もできます。
僕はAV女優を顔重視で選ぶのですが、いろんなエロ動画サイトを見ていると、有名ではないが、自分の好みな顔のAV女優を見付けることがよくあります。
既存のエロ動画サイトはテキストで検索することは可能ですが、もしかしたら、まだ自分の知らない自分好みなAV女優がたくさん存在するかもしれないと
もし顔で検索できれば自分のAVライフももっと楽しくなるだろうと一念発起して開発しました(開発期間は半年くらい)。
レンタルサーバー | GMOクラウド Public |
---|---|
WEB | Apache |
DB | MySQL |
プログラミング言語 | PHP |
フレームワーク | Cakephp |
UI | Bootstrap |
顔認識 | Face++ |
簡単に仕組みを説明すると、
①DMMのサイトをスクレイピングしてAV女優の基本情報(名前やスリーサイズなど)を登録
②DMMのAPIを利用して、それぞれの女優の作品を取得して、パッケージ写真中の顔面積を測り、最も面積が大きいパッケージ写真を登録
③ユーザーがアップロードした画像からFace++のAPIを利用することで顔検索して、最も似ているAV女優を8人表示
今はまだ、顔認識を他のサービスに頼っているので、いずれ内製化して全て自分で開発したいと考えています。
初めて書くのでいろいろと不慣れだけど許してください。
■作ったサイト
■使った技術
cron
位だったと思う。
スクレイピングをPHPでするプログラムが半年くらい掛かった気がする。
てかそもそもはなんとなくスクレイピングに興味を持って作りこんでたら「あれ?これエロサイト作れるんじゃね?」って思ったので
エロサイトを作った流れ。
Wordpressとかで実際にサイト構築したのは1日掛かってない。
■サーバー
特に目新しいことはないです。
記事一覧が表示されて、cookieでお気に入りが追加できて、タグ一覧があって、検索できるだけ、
作る方法は頭の中にあるけど、どうせ作っても誰も押してくれないんでしょ?見たいになってる。
■スクレイピングについて
ただXVIDEOSは日本語タイトルじゃないからそれを日本語にするのが手間と言う理由で今はとめてる。
翻訳APIを使ってやってもいいんだけど、サーバーが落ちそうだから嫌だ。
そうそう、スクレイピングがめちゃくちゃ重すぎてサーバーが落ちる!
これがちょっと困る。
さすがにスクレイピングを自作ではめんどくさかったので[PHP Simple HTML DOM Parser]というスクレイピングの定番ライブラリを使っている。
これが重い最大の理由なんだけど、これなしで効率よくスクレイピングさせるのはめんどくさかった。
あとは、簡単に他の動画サイトからスクレイピングできるようなつくりにしたから、やろうと思えばニコ動でもyoutubeでもいろいろなところから取得できる。
これは結構利点だと思う。
FC2が突如つぶれても他のエロ動画サイトからスクレイピングすることが出来るから。
今は0です。
だっておとといドメインを取ったばかり何だもの、インデックスだって100ページ程度しかされてないし。
とにかく更新が楽だから(自動だから)忘れたことにPVがあがってくれると助かる。
ということで、一通り書いてみました。
■追記
いろいろとコメントを頂いてうれしいです。
大変参考になりました。
アフィリエイト広告については悩んでたのですが、早めに乗せることにしてみます。
ありがとうございました。
■追記2
諸事情で1週間ほどサイトを閉鎖しています・・・(2015/5/28現在)
ちょっと復活まで待ってください。
よろしくお願い致します。
■追記3
復活しました!
ぜひお楽しみください!!
日本で最大規模を誇る電子掲示板サイトの2ちゃんねるでは3/13から新仕様APIに対応していない2ちゃんねる専用ブラウザは利用出来なくなった。
しかし、新仕様API移行に反発する有志達(主にオープンソースプロジェクトで開発れていた2ちゃんねる専用ブラウザユーザ)によって新仕様APIの規約の穴を突かれて突破されてしまっている。
新仕様APIの規約によればWebスクレイピングやJavascriptなどが禁止されているが、例えばPerlやPython、シェルスクリプトなどのユーザスクリプトによるHTTPソースの改変は規制されていない。
そこで有志達は規約通りに新仕様APIを介して2ちゃんねるのHTMLファイルを取得しユーザスクリプトによってHTMLを従来の2ちゃんねる専用ブラウザで読み込めるdatファイルへ変換する方法を編み出した。
ユーザが個人で楽しむ範囲でHTMLソースをdatファイルに変換するにのは法的にも問題が無いと思われ、2ちゃんねる運営にもそれらを規制する法的根拠を得るのは難しいと考えられている。
他にもルータのフィルタリング機能やDNSサーバー設定の変更で広告を表示しないようにしてしまうなど、2ちゃんねるの運営は思い通りにならない2ちゃんねらー達にやきもきさせられてしまう格好だ。