スポンサーサイト

一定期間更新がないため広告を表示しています

  • -
  • -
  • -
  • -
  • -
  • by スポンサードリンク

Pythonの勉強がてらスクレイピングしてみた

してみたけどこれGASでいいんじゃねって正直思った←

 

いくつか記事を見たけど、結局スクレイピングでやることって、

  1. 対象のページのhtmlを分析して抜き出したい内容の記述されている箇所のタグやクラス名を探し出す。
  2. 対象のURLのレスポンスを取得する
  3. 取得したレスポンスを正規表現その他で分解してほしい部分を抽出する。

っていう3つになる。

 


Pythonやその他言語を使う利点ってライブラリを使うことによって、3の部分の引っこ抜いたhtmlその他レスポンスを扱いやすいってだけでそれ以外あんまり利点ない気がする。(自分の見た限りだと)

それよりもPythonとか各言語の環境を準備するほうがよっぽど面倒くさいと思う。
環境準備の記事もたくさんあるけど、どれも(最終的には同じ環境ができあがるにせよ)書いてあることが違うし、未だに2系と3系の記事が混在してるのは辛い。

 


GASはGoogleアカウント持ってれば環境の準備は一切必要ない。
実行はクラウド上で行われているのでPCをつけっぱなしにするとかそういう必要もない。
さらに標準でスケジュール実行する機能もついている。これは結構デカイ。

 

 

ただし上記の通りライブラリは(多分)ないので抜き出す部分の正規表現は自分で書く必要がある。
けど、よっぽど複雑な構造でもなければ目的の1箇所を抜き出すくらいならちょっと調べれば出来る気がする。


ただしあくまでこれらは一定時間ごとに更新される静的なページの話。
javascriptで動的に生成されるページの内容とかを取得しようとすると話は変わってくるはず。

 

 

その昔覚えたての頃にYahooファイナンスから株価を定期的に取得して株価分析やろうとか考えたこともありましたね。

取得できるところまで作って飽きてやめましたが←

 

※ちなみにYahooファイナンスはスクレイピング禁止してるのでやっちゃダメ

Yahoo!ファイナンス掲載情報の自動取得(スクレイピング)は禁止しています

 

 

PythonによるWebスクレイピング
Ryan Mitchell
オライリージャパン
売り上げランキング: 30,315

機械学習のお勉強

昨日の延長で、コピペして実行して結果出力するくらいなら出来るだろと思ったけど現実は甘くなかったですね…。

 

機械学習以前にPythonの文法って意外と他の言語と違って(るように見え)て、ソース見てもぱっと見でよくわからなかったり、適当に自分で書いたコードもエラー内容がよくわからなかったり等々、案外道は険しそうです。

 

正直、舐めてましたわぁ…。

 

 

Python2と3の違いで躓くことも多いのが正直つらい。

サンプルコードコピペしても動かないからググったら「In python3 〜」ってのを何回も見た。辛い。

 

 

機械学習以前にまずはPythonのお勉強からですねorz

 

 

あと、使うフレームワークはTensorFlowにしたんだけど、行列とか重みとか出た時点で結構ヤバそうな雰囲気を感じてる。

あの時ちゃんと勉強していれば…(後の祭り)

まぁでも実際何に使われるかわからなければ勉強の意欲もわかないよねぇ。

 

 

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
斎藤 康毅
オライリージャパン
売り上げランキング: 42

 


デレステMVから画像を切り出してみた

もう何番煎じかもわからないけど、勉強も兼ねて動画から顔検出して画像を切り出すということをやってみた。

 

使用したMVは下記の10種類

・お願い!シンデレラ

・輝く世界の魔法

・Tulip

・サマカニ!!

・STORY

・エヴリデイドリーム

・き・ま・ぐ・れ☆Café au lait!

・Memories

・Orange Sapphire

・きみにいっぱい☆

 

選曲に特に意味はない(ぁ

自分がへっぽこプレイヤーなので、クリアできてればメルヘンデビュー!とかTrancing Pulseとか使いたいんだけど…。

あと撮ったのが金曜日なので咲いてJewelが入れられなかった。

 

 

とりあえずこれをやろうと思い立った参考ブログではPythonを使っていたので、勉強がてらpythonでやってみることにした。

しかし、正直Pythonソースを理解するよりも環境を準備することのほうが数倍大変だった。

 

Python2系と3系の情報が混在しているし、こういう情報系の記事を公開してる人はほとんどMac環境だし。

最終的にはQiitaの下記ページを参考にして環境を準備した。

・OpenCVの準備
http://qiita.com/olympic2020/items/d5d475a446ec9c73261e

 

 

準備してからは下記ページのソースをそのまま使用したら思った以上にあっさりとできた(当たり前)

ソース自体はなんとなく読めば分かるけどこれを自分で書けるかというと自信がない。

・デレステ顔切り出し(成果物)

https://goo.gl/photos/4uHxfDYuttByjsDJ9

 

 

参考ページ

・橘ありす分類器

http://mzp.hatenablog.com/entry/2016/05/25/224211

・OpenCVによるアニメ顔検出ならlbpcascade_animeface.xml

http://ultraist.hatenablog.com/entry/20110718/1310965532

 

 

コピペだけでは味気ないので、顔が含まれるフレームの全体をそのまま保存できるように改変してみた。

・デレステMV切り出し(成果物)

https://goo.gl/photos/uJXZ4ytQRmysxxkz9

 

前後で全く変化がない画像はGoogleフォトにアップするときに弾かれるらしく、ときどき連番が抜けている。

エヴリデイドリームは99%センターの人しか写ってなくてすごいですね…。

 

 

思ったよりあっさり出来てしまったので次は機械学習ですかね…。

ちょっとググっただけでもごちうさ、ラブライブ等で散々やり尽くされてる感あるけどちょっとやってみますか。

 

なお、本命の限定文香さんがあるので、上記ブログのようにありすが出るまでガシャを引きまくるようなことはないです。

でも周子さんとか奏さんとかはほしい。その前にゲームの方の腕をだな…。

 

 

THE IDOLM@STER CINDERELLA MASTER Cool  jewelries! 003
歌・トーク:鷺沢文香、速水奏、橘ありす、塩見周子、二宮飛鳥
日本コロムビア (2016-06-29)
売り上げランキング: 418

残業だよ

システム変更で居残り残業でした。

変更日当日になっても変更内容の変更が来るとかもう炎上の匂いがプンプンしますね(ヽ´ω`)

 

 

まぁなんとか出揃ったものの、いざスクリプトを流したらGoogleのAPIにアクセスできず急遽突貫でGoogleAppsScriptを書くことに。

やっててよかったGoogleAppsScript。

 

…なんて今は書いてるけど作業中の自分は顔面蒼白でしたね、多分。

 

 

始業前までに終わらないといけない

 ↓

もしかして:手作業で更新?

 ↓

あっ…(察し)

 

みたいな。

ただ、GASは遅いという認識だったんだけど思ったよりは遅くなくてなんとかその日のうちに帰れてホッとしてる。

 

あるグループからメンバーを削除するスクリプトを走らせた場合、大体5分制限の中で300メンバーくらいまでは削除できる。ということがわかって処理の分割の目星がつけやすくなったのが大きい。

 

 

正直、5分制限さえなければ全部GASでやるんだけどなー。

なんとかなりませんかねGoogleさん?

 

 

 

 

 

 

 

 


ファッキュー日本語

Googleの連絡先の操作を自動化してほしいと言われて、そんなもんGASで余裕だはwwwと思ってたら読みがなに対応してなかったでござる。
これだから日本語ってやつは…orz
プログラミングに関してだけは日本語ほんと嫌い。文字コードとか。


なお結論から言うと、ContactsAPIを使うことでとりあえずは操作できた模様。
ちゃんと検証したらどっかにQiitaの技術記事に載せますかね。

 

家庭を支える技術

毎年恒例の技術系アドベントカレンダーが始まっています。
※アドベントカレンダーとは12月1日からクリスマスに向けて毎日1記事ずつ何人かで投稿していくという企画です。

個人的に楽しみにしてるのは下記の「家庭を支える技術」のアドベントカレンダー。

家庭を支える技術 Advent Calendar 2015
http://www.adventar.org/calendars/769

家庭を支える技術 Advent Calendar 2014(※去年のやつ)
http://www.adventar.org/calendars/595


家庭を支える技術と言ってもプログラミング的なことばかりじゃなく、便利な家電製品やサービスなど内容は多岐にわたります。
様々な製品やサービスを知れるだけでなく、自分でも普段使っているGoogle関連のサービスがどう使われているかなどの運用事例としてもとても参考になります。

…まぁ、自分はそもそも家庭がないので「へぇ、面白いなぁ」で終わってしまうのですが…。


ちなみに自分もこっちのアドベントカレンダーに1記事投稿する予定です。(余裕があったらもう1記事くらい書くかも)
Google Apps Script Advent Calendar 2015
http://qiita.com/advent-calendar/2015/gas

内容は思いっきり技術寄り(しかもマイナーな)なのであんまり見てもわからないと思うけど(^_^;)
まぁ、興味があれば。
 
Google Apps Scriptクイックリファレンス
横山 隆司
秀和システム
売り上げランキング: 360,453

 

エンジニアでも恋がしたい

https://paiza.jp/poh/enkoi

目についたので挑戦してみました。

一応問題のヒントとか書いてあるので気になる人は読まないでください。

なお、エンジニアの職場にこんなに生気にあふれた女性はいません(絶望)



 

AmazonのページにiTunesStoreへのリンクを追加する拡張を作ってみた

最近はCDより安いということでiTunesStoreで買うことが多くなってきたので自分用にChrome拡張を作ってみた。
画面イメージはこんな感じ。
なお、こんなのできたよーという興奮で書いただけなので配信の予定とかは今のところ特にないです。



Amazonの商品ページを開くと試聴用サンプルor曲目リストのところに、曲名でiTunes Search APIを検索した場合の1件目が表示される仕組み。

しかし、曲名だけで検索しているのでよくありがちな曲名だとこんなことになる。(画像は平野綾のPromise)


他、サントラみたいに曲目が多いもので全曲リストが別ページになっている場合も表示できる。(回線によってはロードが多少重いかも)


なので、アーティストを拾って検索しようとしたものの、サントラとかを見てみると…



TVサントラってなんだよ…orz
他、オムニバスCDとかだとどのアーティストか判別できないし、iTunes Search APIでの検索結果も若干変だったのでアーティストを取得することは断念(´・ω・`)

なお、下記のようなAmazon mp3で販売されているものは曲目リストが取得できないのでNG。でもこれはmp3で提供されてるのでここで買えばいい話ですよね。(よっぽどiTunes Storeじゃないといけない理由はないような)


以下、作ってて思ったことなど。

 

エレクトーン楽譜の新着情報ページを解析してみる

たまにはプログラマらしくスクレイピングと正規表現の練習を兼ねて、エレクトーン曲集の新着情報の情報を抜き出してみました。

対象にしたページはここ。

ツールはGoogleAppsScriptを使いました。

結果はこちら
--------------------------------------------------------------
[13-09-19 16:08:12:356 JST] HitExpressラブリンク「ドキドキ!プリキュア」より / 吉田 仁美
[13-09-19 16:08:12:357 JST] LEGAL-HIGH「リーガル・ハイ」より
[13-09-19 16:08:12:357 JST] STAGEA・ELサポート付曲集 (入門〜初級) NEW!エレクトーン・キッズ Vol.5 クリスマス 
[13-09-19 16:08:12:357 JST] STAGEA・ELステージ・セレクション (中級〜上級) Vol.1 〜ルパン三世'80〜
[13-09-19 16:08:12:358 JST] STAGEA・ELステージ・セレクション (初級〜中級) Vol.1 〜A列車で行こう〜
[13-09-19 16:08:12:358 JST] 月刊エレクトーン9月号
[13-09-19 16:08:12:358 JST]  STAGEA・EL ポピュラー 7〜6級 Vol.70 スタジオジブリ作品集4  
--------------------------------------------------------------

一応、新着情報ページに載っている新着タイトルは全て抜き出せています。
が、これだけだとSTAGEAの達人、曲集の分類がわからないのでもう一捻りしないとダメですね。

しかし、この結果を使えばページが更新されたタイミングで通知を出したりすることができるかもしれません。(本当はここがRSS配信とかしてくれれば一番手っ取り早いんですがね…)
まぁ、ここを見るよりもヤマハのお店で配布してる新刊情報のフリーペーパー見たほうがはるかに早いんだけどな!(ぁ
ちなみにフリーペーパーはこちら(※pdf注意)

それともデータ検索ページとかをさらったほうがいいのかしら。
ソースとかの説明とかは種類分けまできちんと出来てから。

エレクトーンカバー 「グレー」
甲南
売り上げランキング: 33,644

GoogleAppsScript

GoogleAppsScriptとはGoogleが提供するサーバサイドのスクリプト言語。
実際はJavaScriptで、gmailやGoogleカレンダー等にアクセスするAPIなどが提供されています。

この言語のいいところは、様々なGoogleのサービスを簡単に操作できることもありますが、何よりもネットワーク環境とブラウザさえあればどこでも書けてどこでも使えることにあると思ってます。

その昔、上司にちょっとしたテストデータ作成用のプログラムを作れと言われたときは「Excel VBAで作れ」と言われました。理由は「ExcelならどのPCにも大抵入ってる」からでした。
確かにそう言われなければ(その時javaで開発してたので)javaで作ってたような気がします。今思えばいくらなんでもjavaで作るのはどうなの…って感じですが(せめてコンソールアプリだろw)

そういう意味では、Excel以上にどのPCでも使えるということで、ちょっとした作業やデータの加工にはもってこいだと思ってます。GoogleDrive上にExcelと同等のSpreadsheetもあることだし。

 
欠点は処理が遅いことですね。(作り方である程度改善できますが)
あと、ウェブアプリケーションとして導入するときモバイル向けのライブラリ(jQuery-mobileとか)が使えないのが個人的には残念。


個人的にはExcel VBAは(特に古いバージョンだと)よく壊れるのでちょっとした作業はGoogleAppsScriptがいいかなーと思ってます。


最近すっかりGoogleの手先になっちゃった感があるなぁw
携帯、PC、タブレットはAppleだけどw


1

Calendar

Sun Mon Tue Wed Thu Fri Sat
 123456
78910111213
14151617181920
21222324252627
28293031   
<< May 2017 >>

Categories

Archives

New Entries

Recent Comment

ブクログ

search this site.

にほんブログ村