2017-09-30

【Python】Pythonで遊んだAPIまとめ - DMM ・ Tinder ・ Twitter ・ Slack -




こんにちは、アダルトサイエンティストのDAIです。会社ではJavaを書かなければならないのにもかかわらず、三大欲求に負けてPythonでエッチなことにしこしこ励んでいる毎日です。


僕のPythonデビューは2017年6月でした。今では立派にDMMのAPIを利用して自分専用のエッチなBotをつくり、徐々にアダルトサイエンティストとしてキャリアを形成してきました。


ここ4カ月ほど、自分が開発してきたコードをブログにアップしてきましたが、先日やたらDMM APIの記事はご好評をいただきました。こんなしょうもない記事が受けるのは、世の中のエンジニアがしょうもないスケベだからなのでしょうか。こんなものをブックマークするスケベエンジニアは全員仕事をやめてアダルトサイエンティストになるべきです。


DMM APIからR18データを取得してみた

こんにちは。スケベなエンジニアのDAIです。ここ最近、DMMにR18のAPIが存在することを聞き、Pythonでエッチなコードを書いてみようかと考えています。小学生の頃にエロ本を探しに行く感覚を思い出しますね。作りたいものは以下の通り。 「新人」とついたタイトルのAVをDMM APIから自動取得 XML・JSON形式でタイトル、画像、アフィリエイト付き動画URLを取得 ...

【Python】DMM Web APIでエッチなデータを取得し、Twitterで自動でえっちな投稿してみた

Pythonでエッチなプログラムを書いてみた こんにちは、 アダルトハッカーのDAIです。 前回、DMM Web APIを利用して、新人もののAVを取得 しました。今度は取得したXML形式のデータを使って、ツイッターに投稿してみました。(ちなみにツイッターの規定を読んだところ....



ということで、まだ見ぬアダルトサイエンティスト養成(?)のために、アダルトサイエンティストである僕が、APIで遊んだ成果物をまとめていきたいと思います。




目次

  • 開発環境
  • APIを利用するために最低限必要なプログラミングスキルと学習方法
  • 今までやってきたことまとめ
    • データサイエンス系
    • 自動化系
    • API
      • Tinder API
      • SLACK API
      • DMM API
      • TWITTER API


開発環境


僕は基本的にPythonの開発は、Cloud9というクラウド上の開発環境を利用しています。Cloud9を利用するメリットは、環境構築がいらないので、初心者にとっつきやすいところです。詳しくは下の記事を読んでみてください。自動化プログラムを組むくらいであれば、この環境で十分です。

【Pythonの環境構築でもうつまづかない!】 面倒な環境構築は、クラウドに全部任せよう - Cloud9・Microsoft Azure Jupiter Notebook -

Python初心者が必ずぶち当たる壁があります。環境構築です。ある言語を動かすための環境設定する作業が環境構築なのですが、これが実は初心者にとって本当に難しいです。そこで、今回は、一切環境構築せずに、完全無料でPythonを動かす方法を解説したいと思います。


APIを利用するために最低限必要なプログラミングスキルと学習方法


さて、APIを利用してアダルトサイエンティスト(?)になるために、最低限HTML, CSS, Javascript, Jquery, GIT, コマンドラインの知識が必要です。というのも、APIで取得するデータはJSONであったり、XMLであったり、またWeb上のHTMLデータの取得、またCSSで取得するデータの指定をする必要があるためです。また、Pythonのライブラリのインストールにはコマンドラインの知識が必要であり、さらに最終的にファイルをディプロイするためにはGITを利用できる必要があります。そのへんの知識のキャッチアップは、だいたいProgateとドットインストールでできます。おすすめは、ドットインストールでHTML、CSS、Javascript、Jquery、Git、コマンドラインなどの動画を見ながら写経し、それが終わったらProgateで実際に問題を解いてみるのがよいです。この二つのサイトは超絶わかりやすいです。


Progate(プロゲート) | Learn to code, learn to be creative.

学習言語の一覧ページです。WEBサイト制作に必要なHTML/CSS, JavaScript, jQueryや、サーバーサイドのRubyやRuby on Rails, PHPなどが学べます。


ドットインストール

3分動画でマスターする初心者向けプログラミング学習サイトです。HTML, CSS, JavaScript, PHP, Rubyをはじめ、iPhoneやAndroidアプリの作り方も学べます。豊富な動画を見ることで、はじめての人でも無理なくスキルを身につけていくことができます。



前述のとおり、本当に基礎的なPythonの学習(それこそ、for, if, whileなど)をドットインストール・Progateで行った後に、『Pythonによるスクレイピング&機械学習 開発テクニック』を一冊だけ読んで、自動化・API取得関係の知識を付けました。この本には後で紹介するAPIを利用して、データベースに格納したり、スクレイピングだったり、定期実行プログラムの組み方など汎用性の高いスキルが非常にわかりやすくのっています。超絶おすすめですね。

『Pythonによるスクレイピング&機械学習 開発テクニック』レビュー

『Pythonによるスクレイピング&機械学習 開発テクニック』を読了しました。 『 Pythonによるスクレイピング&機械学習 開発テクニック BeautifulSoup,scikit-learn,TensorFlowを使ってみよう 』について、レビューします。 Amazonの紹介によると ...


今までやってきたことまとめ


さて、これらの基礎知識だけを使って、書いてきたコードをまとめたいと思います。


データサイエンス系


APIを利用するうえで、データの取得や、保存、またそれを操作するための知識が必要です。さきほど紹介した本でそのへんの知識をキャッチアップし、まとめてみました。具体的には、データ操作、自然言語処理、データベース操作などをやりました。


【Python初心者向け】データの取得・操作・結合・グラフ化をStep by Stepでやってみる - pandas, matplotlib -
http://review-of-my-life.blogspot.jp/2017/09/python-data-analyse.html


【Python初心者向け】データの取得・操作・結合・グラフ化をStep by Stepでやってみる - pandas, matplotlib -

今回は データの取得、整理、グラフ化までをすべてPythonを使ってやってみたいと思います。利用するのは Pandas で、これさえあればデータの取得、整理、グラフ化までを全部行ってくれます。Step by stepで見ていきましょう。 目標物 働き方改革等、労働生産性について最近はよく議論されています。これに対して教育がどれほど関係しているのでしょうか。


Python MeCabをCloud9上で動かす
http://review-of-my-life.blogspot.jp/2017/07/python-mecab-cloud9.html


Python MeCabをCloud9上で動かす

受験・教育学、心理学、社会学、プログラミング・書評とかで記事書いてます。

pythonでsqlite3を利用してデータを挿入する
http://review-of-my-life.blogspot.jp/2017/07/pythonsqlite3.html


pythonでsqlite3を利用してデータを挿入する

受験・教育学、心理学、社会学、プログラミング・書評とかで記事書いてます。


自動化系


データの操作ができると、今度はそれを人が何もしなくても自動でプログラムを実行させたくなります。その辺の技術面は、herokuを利用して実行しています。
データの操作 X 自動化ができると、APIを利用して様々なコードをかけるようになります。


ちなみに僕はCloud9上でSeleniumと、HerokuのHeroku Schedulerを利用して自動化プログラムを組んでいます。そのへんをまとめました。



Python Cloud9を利用して、定期処理をherokuから行う
http://review-of-my-life.blogspot.jp/2017/06/python-cloud9-automatically-execute-python-program.html

【Pythonで定期処理】 Cloud9を利用して、Seleniumでherokuから定期実行する

Python Cloud9を利用して、定期処理をherokuから行う Cloud9というIDEを利用して、PythonからSeleniumを利用し、あるサイトでいいねを自動化するプログラムを作った。 これを定期実行を行いたい。検索してみると、crontabを使えば定期実行ができるようだが、cloud9上では実行できないらしい。 ほかの代替案を考えたとき、 heroku ...

【Python】Seleniumの定期処理をHerokuから実行するための環境構築方法 - Cloud9編-
http://review-of-my-life.blogspot.jp/2017/09/selenium-5-minutes-setup-on-cloud9.html

【Python】Seleniumの定期処理をHerokuから実行するための環境構築方法 - Cloud9編-

一回Cloud9上でSeleniumの環境構築をする方法をまとめておきたいと思います。だれでも5分以内に同じ動作で、Cloud9上でSeleniumが利用できる環境をセットアップできることを目指します。


APIを利用してみる


それでは、今まで遊んでみたAPIを紹介します。


TINDER API


出会い系アプリTinderも実はAPIをはいています。取得できる情報としては、ユーザーのプロフィールなどです。また、POSTリクエストでは実際にスワイプをすることができるようです。人によっては完全自動化して出会っている人もいるのだとか。サイバーナンパ師が可能なわけですね。


Tinder APIの利用方法や、実際に応用して利用するコードなどをまとめています。


PythonでTinderのAPIをいじる
http://review-of-my-life.blogspot.jp/2017/06/get-tinder-api-by-python.html


PythonでTinderのAPIをいじる

PythonでTinderのAPIを利用する TinderにはAPIがあるそうなので、さっそく利用してみた。 PythonはCloud9というクラウドで環境構築してある。 TinderのAPIを使うために必要なのはFacebookのアクセストークンと、Pynderというモジュール。 Pynderを準備 pythonでapiをいじるためのpynderをinstall $ sudo pip install pynder インストールされたみたい。 インストールされたか確認 apiいじるコードをgithubからコピペする 


PythonでTinder APIを使ってネトストとサイバーナンパ師やってみた
http://review-of-my-life.blogspot.jp/2017/06/pythontinder-api-cyber-hockup.html

PythonでTinder APIを使ってネトストとサイバーナンパ師やってみた

Python TinderのAPI Pynderを利用する こんにちは。突然ですが、ナンパしたい。僕は陰キャラなので、歌舞伎町でナンパに繰り出すことなんてできない。 そういえば前回、 PythonでTinderのAPIをいじる で書いた通り、PythonでTinderのAPIをいじれた。原理的には自分のアカウントのFacebook access ...


SLACK API




SlackもAPIがあるみたいで、かなり充実しているようです。僕が今回試したのは、Slackにスクレイピングで取得したデータを、PythonからSlackに自動更新するようなbotを作成しました。


【Python】Web上のデータを毎日自動収集して、Slackにぶち込んでみた - Cloud9, Heroku, Selenium, Slack API -
http://review-of-my-life.blogspot.jp/2017/09/selenium-and-slack.html


【Python】Web上のデータを毎日自動収集して、Slackにぶち込んでみた - Cloud9, Heroku, Selenium, Slack API -

#背景 ちはっす。DAIです。 会社の同僚と自宅でよく作業会をやっています。音楽聞いて、料理食べて、あとはただコツコツとみんなでそれぞれが勉強するだけなのですが、とてもQOLが高いです。 さて、そんな作業会の中で、実際になんか役に立つ物作ろうぜ~って話でノリでつくったプログラム公開します~。 


DMM API




さて、ご好評いただいたDMM Web APIに関してですが、これはR18のエロ動画のAPIがあります。しかもアフィリエイトも使えるので、コーディングで収益化も夢ではありません。ということで、やったこととしてはDMMのアダルト動画をPythonで取得し、ツイッターで自動更新することに挑戦しました。


【Python】DMM Web APIでエッチなデータを取得し、Twitterで自動でえっちな投稿してみた
http://review-of-my-life.blogspot.jp/2017/09/python-dmm-web-api-twitter.html


【Python】DMM Web APIでエッチなデータを取得し、Twitterで自動でえっちな投稿してみた

Pythonでエッチなプログラムを書いてみた こんにちは、 アダルトハッカーのDAIです。 前回、DMM Web APIを利用して、新人もののAVを取得 しました。今度は取得したXML形式のデータを使って、ツイッターに投稿してみました。


DMM APIからR18データを取得してみた
http://review-of-my-life.blogspot.jp/2017/09/dmm-api.html

DMM APIからR18データを取得してみた

こんにちは。スケベなエンジニアのDAIです。ここ最近、DMMにR18のAPIが存在することを聞き、Pythonでエッチなコードを書いてみようかと考えています。小学生の頃にエロ本を探しに行く感覚を思い出しますね。作りたいものは以下の通り。 「新人」とついたタイトルのAVをDMM APIから自動取得 XML・JSON形式でタイトル、画像、アフィリエイト付き動画URLを取得 ...


TWITTER API




TwitterにもAPIがありまして、これは投稿を行ったり、ユーザーの投稿をRTしたり、Likeしたりできるようです。これも自動化と相性がよくて、用はボットを作れるわけなのですが、結構いろいろなことができそうです。


今回やったのは、Like、Follow、Removeの自動化プログラムを書きました。


【Python twitter】tweepyを利用してlike、follow、removeを実装したbotを作る
http://review-of-my-life.blogspot.jp/2017/07/python-cloud9-tweepy.html


【Python twitter】tweepyを利用してlike、follow、removeを実装したbotを作る

なぜやるか ・ブロガーをやっているので、自分のファンになってくれる可能性があるユーザーをフォローしたい。 ・そのユーザーのコメントにいいねして、後で見返したい。フォローしてきたスパムアカウントはりむーぶしたい。 ・毎日自分の手でやるのは社会人になってしまったので時間がない。ということで自動化したい。 - python 3 - Cloud9を利用 - すでにherokuにpythonプロジェクトをdeploy済みです。http://taikomegane.hatenablog.jp/entry/2017/07/08/151110 1.

注目の投稿

 PythonのTweepyを利用して、Twitter APIを利用している。 その中で、ハマったポイントをメモしておく。 まず、Searchに関して。 Twitter検索は、クライアントアプリ側では、全期間の検索が可能になっている。 一方で、APIを利用する際は、過去1週間しか...