Twitter フォロワー同期(フォロー専用)Bot Perl 新API対応(改弐)
1月 16, 2014 — 18:01

TwitterのAPIがすべてSSLになり403 forbiddenと表示されるようになったので対策してみました。

#!/usr/bin/perl
use utf8;
use strict;
use warnings;

# モジュール使用宣言
use Encode;
use FindBin;
use YAML::Tiny;
use Array::Diff;
use Net::Twitter;

# 現在のパスから見て設定ファイルを読み込み
my $config = (YAML::Tiny->read($FindBin::Bin . '/config.yml'))->[0];

# OAuth認証
my $twitter = Net::Twitter->new(
        traits           => ['API::RESTv1_1', 'OAuth'],
        consumer_key     => $config->{'consumer_key'},
        consumer_secret  => $config->{'consumer_secret'},
        apiurl           => 'https://api.twitter.com/1.1',
        searchapiurl     => 'https://api.twitter.com/1.1',
        legacy_lists_api => 0
);

$twitter->access_token($config->{'access_token'});
$twitter->access_token_secret($config->{'access_token_secret'});

# 認証失敗時の処理
die('Auth failed:'.$config->{'username'}) unless ( $twitter->authorized ) ;

# ユーザー名を含むユーザー情報を取得
my $own_id = $twitter->verify_credentials->{id};

my $nextc = -1; # paging default.
my @following_id_list; # outgo

# APIの仕様?から一度に100人までしか取得できないから0が返ってくるまでdoブロックをループ
do{
        # パラメータcursorは前回取得したフォローイングまでの番号が入っている
        my $following_list = $twitter->friends_ids({ id=>$own_id, cursor => $nextc });
        $nextc = $following_list->{next_cursor};
        # 配列からフォローイングのidを取得
        foreach my $id (@{ $following_list->{ids} }){
                push(@following_id_list, $id); # 後で比較するためにフォローイングを配列に保管
        }
}while($nextc!=0);
# 文字昇順でソート
@following_id_list = sort @following_id_list;

$nextc = -1;
my @followers_id_list; # income

# APIの仕様?から一度に100人までしか取得できないから0が返ってくるまでdoブロックをループ
do{
        # パラメータcursorは前回取得したフォロワーまでの番号が入っている
        my $followers_list = $twitter->followers_ids({ id=>$own_id, cursor => $nextc });
        $nextc = $followers_list->{next_cursor};
        # 配列からフォロワーのidを取得
        foreach my $id (@{ $followers_list->{ids} }){
                push(@followers_id_list, $id); # 後で比較するためにフォロワーを配列に保管
        }
}while($nextc!=0);
# 文字昇順でソート
@followers_id_list = sort @followers_id_list;

# 差分を取得(フォローイング)
my $diff_following = Array::Diff->diff(\@following_id_list, \@followers_id_list);

# 差分を取得(フォロワー)
my $diff_followers = Array::Diff->diff(\@followers_id_list, \@following_id_list);

# リムった人をリム返し
foreach my $delid_following (@{ $diff_following->{deleted} }){
        eval{$twitter->destroy_friend({user_id => $delid_following})};
        # プライベートだとエラーになる人がいるので確認用
        print $delid_following . "\n" if($@);
}

# フォローした人をフォロー返し
foreach my $delid_followers (@{ $diff_followers->{deleted} }){
        eval{$twitter->create_friend({user_id => $delid_followers})};
        # プライベートだとエラーになる人がいるので確認用
        print $delid_followers . "\n" if($@);
}
ぴくぴくダウンローダ for Java(仮) Ver 6.30
7月 18, 2013 — 23:58

修正された項目

・Pixivの仕様変更により作品のダウンロードができなくなっていたのを対応しました。
・ユーザインターフェイスを一部修正しました。

Windows7 での実行の様子
WS000000

MacOSX での実行の様子
スクリーンショット 2013-01-14 16.31.21

Linux での実行の様子
Screenshot-ぴくぴくダウンローダ for Java (仮)

コマンドモードでの実行の様子

ダウンロード

こちらのダウンロードページよりダウンロードをお願い致します。

質問・問い合わせについて

質問・問い合わせは下のコメント欄にお願いいたします。また、質問を行う前に下記を確認してください。手順に沿わない場合は返答できない場合がございます。

正常に動かない等の問題があり質問・問い合わせを行う場合、実行場所(一軒家や集合住宅や学校などこれらの場所ではネットワークの環境が異なるため)、OS、Javaのバージョン、収集対象(実行時に指定したパラメータ)、停止した場所のコンソールの内容をお書きください。書いて頂けない場合こちらで検証することができないので返答することができません。

追加して欲しい機能がある場合、特にPixivの機能に依存するものなどは実際のページまでのURLなど詳しい情報をお書きください。それらの情報を元に今後のアップデートで実装可能か検討させて頂きます。

ぴくぴくダウンローダ for Java(仮) Ver 6.20
5月 25, 2013 — 12:56

修正された項目

・Pixivの仕様変更により作品のダウンロードができなくなっていたのを対応しました。

Windows7 での実行の様子
WS000000

MacOSX での実行の様子
スクリーンショット 2013-01-14 16.31.21

Linux での実行の様子
Screenshot-ぴくぴくダウンローダ for Java (仮)

コマンドモードでの実行の様子

ダウンロード

こちらのダウンロードページよりダウンロードをお願い致します。

質問・問い合わせについて

質問・問い合わせは下のコメント欄にお願いいたします。また、質問を行う前に下記を確認してください。手順に沿わない場合は返答できない場合がございます。

正常に動かない等の問題があり質問・問い合わせを行う場合、実行場所(一軒家や集合住宅や学校などこれらの場所ではネットワークの環境が異なるため)、OS、Javaのバージョン、収集対象(実行時に指定したパラメータ)、停止した場所のコンソールの内容をお書きください。書いて頂けない場合こちらで検証することができないので返答することができません。

追加して欲しい機能がある場合、特にPixivの機能に依存するものなどは実際のページまでのURLなど詳しい情報をお書きください。それらの情報を元に今後のアップデートで実装可能か検討させて頂きます。

ぴくぴくダウンローダ for Java(仮) Ver 6.00
2月 10, 2013 — 14:12

修正された項目

・Pixivの仕様変更に対応しました
・バージョンアップ通知機能の追加を行いました

バージョンアップがあった場合はアラートを表示します
WS000029

Windows7 での実行の様子
WS000000

MacOSX での実行の様子
スクリーンショット 2013-01-14 16.31.21

Linux での実行の様子
Screenshot-ぴくぴくダウンローダ for Java (仮)

コマンドモードでの実行の様子

ダウンロード

こちらのダウンロードページよりダウンロードをお願い致します。

質問・問い合わせについて

質問・問い合わせは下のコメント欄にお願いいたします。また、質問を行う前に下記を確認してください。手順に沿わない場合は返答できない場合がございます。

正常に動かない等の問題があり質問・問い合わせを行う場合、実行場所(一軒家や集合住宅や学校などこれらの場所ではネットワークの環境が異なるため)、OS、Javaのバージョン、収集対象(実行時に指定したパラメータ)、停止した場所のコンソールの内容をお書きください。書いて頂けない場合こちらで検証することができないので返答することができません。

追加して欲しい機能がある場合、特にPixivの機能に依存するものなどは実際のページまでのURLなど詳しい情報をお書きください。それらの情報を元に今後のアップデートで実装可能か検討させて頂きます。

ぴくぴくダウンローダ for Java(仮) Ver 5.10
2月 2, 2013 — 17:39

修正された項目

・ユーザIDを元に巡回すると作品名+作者名で保存できないというバグを訂正しました

Windows7 での実行の様子
WS000000

MacOSX での実行の様子
スクリーンショット 2013-01-14 16.31.21

Linux での実行の様子
Screenshot-ぴくぴくダウンローダ for Java (仮)

コマンドモードでの実行の様子

ダウンロード

こちらのダウンロードページよりダウンロードをお願い致します。

質問・問い合わせについて

質問・問い合わせは下のコメント欄にお願いいたします。また、質問を行う前に下記を確認してください。手順に沿わない場合は返答できない場合がございます。

正常に動かない等の問題があり質問・問い合わせを行う場合、実行場所(一軒家や集合住宅や学校などこれらの場所ではネットワークの環境が異なるため)、OS、Javaのバージョン、収集対象(実行時に指定したパラメータ)、停止した場所のコンソールの内容をお書きください。書いて頂けない場合こちらで検証することができないので返答することができません。

追加して欲しい機能がある場合、特にPixivの機能に依存するものなどは実際のページまでのURLなど詳しい情報をお書きください。それらの情報を元に今後のアップデートで実装可能か検討させて頂きます。

ぴくぴくダウンローダ for Java(仮) Ver 4.12
7月 25, 2012 — 15:47

修正された項目

イラスト・漫画を作品名+作者名で保存するのに対応しました。(GUIでのみ提供)
ラジオボタンの挙動にバグがあったので修正しました。
上記の拡張によりインターフェースを若干改変しました。

計画していた拡張はひと通り済んだのでしばらくは更新は行わないかもしれません。

Windows 7 での実行の様子

コマンドモードでの実行の様子

ダウンロード

こちらのダウンロードページよりダウンロードをお願い致します。

質問・問い合わせについて

質問・問い合わせは下のコメント欄にお願いいたします。また、質問を行う前に下記を確認してください。手順に沿わない場合は返答できない場合がございます。

正常に動かない等の問題があり質問・問い合わせを行う場合、実行場所(一軒家や集合住宅や学校などこれらの場所ではネットワークの環境が異なるため)、OS、Javaのバージョン、収集対象(実行時に指定したパラメータ)、停止した場所のコンソールの内容をお書きください。書いて頂けない場合こちらで検証することができないので返答することができません。

追加して欲しい機能がある場合、特にPixivの機能に依存するものなどは実際のページまでのURLなど詳しい情報をお書きください。それらの情報を元に今後のアップデートで実装可能か検討させて頂きます。

__追記(2012/10/31)__

Pixivの仕様が変わったようで小説収集機能が動作しないようです。時間を見つけて近日中に対応したいと思います。

ぴくぴくダウンローダ for Java(仮) Ver 4.01
7月 23, 2012 — 15:39

修正された項目

ショーケースの有無に関係なく作品をダウンロードできるようになりました。
ラジオボタンをわかりやすい挙動にしました。
内部的には次回のアップデートを意識し細かい拡張を行いました。

推奨環境・動作環境

推奨環境:Core2Duo以降のデュアルコアCPU搭載のパソコン
動作環境:Windows MacOSX Linux でJavaが動作する環境

Windows 7 での実行の様子(画像はVer4.00のものです)

コマンドモードでの実行の様子

ダウンロード

こちらのダウンロードページよりダウンロードをお願い致します。

質問・問い合わせについて

質問・問い合わせは下のコメント欄にお願いいたします。また、質問を行う前に下記を確認してください。手順に沿わない場合は返答できない場合がございます。

正常に動かない等の問題があり質問・問い合わせを行う場合、実行場所(一軒家や集合住宅や学校などこれらの場所ではネットワークの環境が異なるため)、OS、Javaのバージョン、収集対象(実行時に指定したパラメータ)、停止した場所のコンソールの内容をお書きください。書いて頂けない場合こちらで検証することができないので返答することができません。

追加して欲しい機能がある場合、特にPixivの機能に依存するものなどは実際のページまでのURLなど詳しい情報をお書きください。それらの情報を元に今後のアップデートで実装可能か検討させて頂きます。

ぴくぴくダウンローダ for Java(仮) Ver 4.00
7月 21, 2012 — 20:58

修正された項目

インターフェースを今後拡張しやすいように大幅に改変しました。
コマンドモード限定だった機能の一部をGUIでも利用できるようになりました。
ダウンロード終了時にダイアログが出るようになりました。

推奨環境・動作環境

推奨環境:Core2Duo以降のデュアルコアCPU搭載のパソコン
動作環境:Windows MacOSX Linux でJavaが動作する環境

Windows 7 での実行の様子

コマンドモードでの実行の様子

ダウンロード

こちらのダウンロードページよりダウンロードをお願い致します。

質問・問い合わせについて

質問・問い合わせは下のコメント欄にお願いいたします。また、質問を行う前に下記を確認してください。手順に沿わない場合は返答できない場合がございます。

正常に動かない等の問題があり質問・問い合わせを行う場合、実行場所(一軒家や集合住宅や学校などこれらの場所ではネットワークの環境が異なるため)、OS、Javaのバージョン、収集対象(実行時に指定したパラメータ)、停止した場所のコンソールの内容をお書きください。書いて頂けない場合こちらで検証することができないので返答することができません。

追加して欲しい機能がある場合、特にPixivの機能に依存するものなどは実際のページまでのURLなど詳しい情報をお書きください。それらの情報を元に今後のアップデートで実装可能か検討させて頂きます。

ぴくぴくダウンローダ Ver β C01.01 Windows UNIX (MacOSX Linux) 対応
9月 20, 2011 — 21:30

ぴくぴくダウンローダ Ver β 03.03でのバグを一部修正しました。

更新内容
cielavenir様のPixivの仕様変更対応バージョンを元に改良
ブックマーク数の指定に再対応しました

当ソフトの特徴
・ブラウザでリンクを開かなくても自動で条件(タグ検索、ブックマーク数、絵師さんのID)を指定することで画像を収集します。

・最初HTMLファイルのみを取得し作品へのリンクを解析するためダウンロードする画像(Pixivへのアクセス)は最小限です。低負荷です。

・一度ダウンロードした作品はコミックはフォルダ分けされ管理されます。指定されたフォルダにある画像は多重ダウンロードを行いません。

・バッチファイル等にコマンドを記述し指定した時間に実行させることも可能です。(絵師さんの新しい作品を定期的に収集し同期します。)

Download
こちらのダウンロードページよりダウンロードをお願い致します。

動作例)
Windows 7 (検索ワード,ミク ブックマーク数,5以上)

MacOSX 10.6 (検索ワード,ミク)

かんたんメール送信(添付ファイル対応) Perl用ライブラリ
9月 17, 2011 — 15:10

―――――――――――――――――――――――――――――――――――――
【ソフト名】かんたんメール送信(添付ファイル対応)
【著作権者】ORBIT
【制作日】2011年09月17日
【種 別】Perlモジュール
【連絡先】http://orsx.net/blog/
【配布元】http://orsx.net/blog/
【圧縮形式】zip
【動作環境】Sendmailコマンドの使えるUNIX系OS
【開発環境】Perl5.8(標準モジュール Encode MIME::Base64 使用)
―――――――――――――――――――――――――――――――――――――
≪著作権および免責事項≫

 本ソフトはフリーソフトです。自由にご使用ください。なお,著作権は作者
であるORBITが保有しています。

 このソフトウェアを使用したことによって生じたすべての障害・損害・不具
合等に関しては、私と私の関係者および私の所属するいかなる団体・組織とも、
一切の責任を負いません。各自の責任においてご使用ください。

・はじめに
 メール送信を行うとき毎回文字操作を行うのが面倒だったためそれらを全て行う
モジュールを作成しました。
 わずか数行で添付ファイル付きのメールを送信できるため簡単なメールフォーム
の作成等に強力な力を発揮すると思います。

・ファイル構成
readme.txt ← 当ファイル
Sendmail.pm ← 本体

・インストール方法
対象のプロブラムと同じディレクトリにおいてください。

・使い方
Sendmail.pm最下部に簡単な利用法を記載してるのでそちらを御覧ください。

・履歴
2011年09月17日 Ver 1.0.0 公開

簡単な使用例

#!/usr/bin/perl
# 当モジュールを呼び出し
use Sendmail;

# オブジェクトの生成
my $send_obj = Sendmail->new({
        Subject => '件名',                     # 件名
        From    => 'user@mail.goge.net',       # 送信元
        });

# メール送信
$send_obj->sendmail(
                'user@mail.goge.net',          # 送信先
                '添付ファイル無し',            # メッセージ
                );

# メール送信
$send_obj->sendmail(
                'user@mail.goge.net',          # 送信先
                '添付ファイル有り',            # メッセージ
                'file.txt,日本語ファイル.txt'  # 添付ファイル(,で区切ると複数送信可能)
                );

ライセンス形態:GPL
Sendmail