Category Archives: Tool - Page 3

対ボット+外国人用 平仮名+和製漢字CAPTCHA Perl用ライブラリ

―――――――――――――――――――――――――――――――――――――
【ソフト名】かんたん日本語画像認証(アルファベットも可)
【著作権者】ORBIT
【制作日】2011年07月05日
【種 別】Perlモジュール
【連絡先】https://www.orsx.net/blog/
【配布元】https://www.orsx.net/blog/
【圧縮形式】zip
【動作環境】Perl5とImage::Magick、sazanami-gothicをインストールしたLinux
Windows系OSでは動作しない事が確認されております。
【開発環境】
CentOS5.6 perl, v5.8.8
―――――――――――――――――――――――――――――――――――――
≪著作権および免責事項≫

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

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

・はじめに
 新しいフォームを作った時の副産物の公開です。わずか数行で画像認証機能
を実装することが可能です。
 海外のスパム・人間、共に日本特有の和製漢字・平仮名は入力できないこと
に着目し今回の日本語画像認証を作成しました。

・ファイル構成
readme.txt 当取説ファイル
JCaptcha.pm 本ソフト
background.jpg 画像認証用の下地となる画像ファイル
tmp/imgs/ 作成済みの画像ファイルを保存するディレクトリ

sazanami-gothic.ttf
↑さざなみゴシック(フォント) ライセンスの関係上同封しておりません。

・導入方法
efont プロジェクト日本語トップページ – SourceForge.JP
http://sourceforge.jp/projects/efont/
よりさざなみフォントをダウンロードし、sazanami-gothic.ttfのみ取り出し
ファイル構成のようにJCaptcha.pmと同じディレクトリに格納する。

 画像認証機能を追加したい対象のプログラムと同じディレクトリに上記、
ファイル構成を設置する。

・利用方法
下記の使用例を参考にプログラムに組み込んでください。

簡単な使用例

#!/usr/bin/perl

# 当モジュールを呼び出し
use JCaptcha;

# オブジェクトの生成
my $obj = JCaptcha->new(
		Key    => RX, # 鍵を指定
		Lang   => JP, # 言語を指定(JP/ENG)
		Length => 5   # 文字の長さを指定
	);

# 認証画像作成用メソッドを呼び出す
my $tmp1 = $obj->makeimgcode(); # 認証用画像を作成し、その画像までのパスを受ける
print "$tmp1\n"; # 認証画像までのパスを受け取る

#==============================================#
# 画像を表示し、入力を行う処理を書いてください #
#==============================================#

# 認証
# 入力された文字列で認証を行い、正しければ"1"間違っていれば"0"を受ける
#(受け渡す文字列はフラグ無しUTF-8とする)
my $tmp2 = $obj->enimgcode('入力を受けた文字列');
print "$tmp2\n"; # if文などで認証の成功失敗を判別する

・履歴

2011年09月05日 Ver 1.0.0 公開

作成された画像認証用画像の一例

ライセンス形態:GPL
Download:JCaptcha

ぴくぴくダウンローダ Ver β 03.03 Windows UNIX (MacOSX Linux) 対応

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

更新内容
絵師さんのID指定時に次のページに移動しない事があるようなので修正しました。
(Pixivの仕様が変わったため?不明です)

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

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

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

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

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

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

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

ぴくぴくダウンローダ Ver β 03.02 Windows UNIX (MacOSX Linux) 対応

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

更新内容
前回のアップデートで設定ファイルをUNIXを意識しUTF-8Nに変更していましたがShift-JISに修正いたしました。
(メモ帳がUTF-8NをUTF-8に書き換えてしまい設定ファイルが読み込まれなくなる問題が起きたため修正)

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

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

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

UFT-8はフラグを付けたりとったりただでさえ面倒だと思ってたらBOMの問題も出てきましたよ。。。
やっぱりつくづくめんどくさい文字コードですorz

ぴくぴくダウンローダ Ver β 03.01 Windows UNIX (MacOSX Linux) 対応

Pixivの作品(画像、コミック)を自動で収取するプログラムです。
※ Windows以外のOSではCUIで動作します。

更新内容
Windows UNIX (MacOSX Linux)で動作するようにアップデート・マニュアルの作成を行いましました。

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

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

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

Pixiv 画像 ダウンロード ぴくぴくダウンローダ Ver β 03.00 公開

大まかな更新内容
*コミックのダウンロードでフォルダー分けするようになりました。(重複ダウンロード対策済み)
*多重ダウンロード対策の強化でPixivサーバへの負荷軽減を目指しました。
*ブックマーク数の制限でPixivの仕様が若干変更されているみたいなので対策しました。

cielavenir さん の修正していただいたソースを元に更新しました。

動作画面 タグ検索(ミク) ブックマーク数(5以上)で動作させております。

ダウンロード:ぴくぴくダウンローダ Ver β 03.00

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

Twitter フォロワー同期(フォロー専用)Bot Perl 作成編

とりあえずさっきのプログラムを書きなおして完全にフォロワーさんを同期するプログラムを書きました。
Botみたいで(処理してるのはBotですが・・・)味気ないけど仕方ないですねwwww

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

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

# 現在のパスから見て設定ファイルを読み込み
my $config = (YAML::Tiny->read($FindBin::Bin . '/config.yml'))->[0];
# OAuth認証
my $twitter = Net::Twitter->new(
     traits => ['API::REST', 'OAuth'],
     consumer_key => $config->{'consumer_key'},
     consumer_secret => $config->{'consumer_secret'}
);
$twitter->access_token($config->{'access_token'});
$twitter->access_token_secret($config->{'access_token_secret'});
# 認証失敗時の処理
die('Auth failed:'.$config->{'username'}) unless ( $twitter->authorized ) ;

# ユーザー名を含むユーザー情報を取得
my $cr = $twitter->verify_credentials;
my $own_id = $cr->{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} }){
	$twitter->destroy_friend($delid_following);
}

# フォローした人をフォロー返し
foreach my $delid_followers (@{ $diff_followers->{deleted} }){
	$twitter->create_friend($delid_followers);
}

うん。書いてて思った。今まで差分取るとかループで比較するだけじゃんとか思ってたけどData::Dumperって結構便利だなw 今度機会があったら使ってみようかな?

Twitter フォロワー同期(リム専用)Bot Perl 解析編

自動でフォローされたらフォローし返すプログラムを書きたいけどNet::Twitterの使い方がわからなかったのでとりあえずフォロワー同期(リム専用)Botのソースをマニュアルを読みながら適当に解析してコメント打ちました。

マニュアル:Net::Twitter(英語)
参考にさせて頂いたソース:■[メモ]Twitterで自動フォロー削除

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

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

# 現在のパスから見て設定ファイルを読み込み
my $config = (YAML::Tiny->read($FindBin::Bin . '/config.yml'))->[0];
# OAuth認証
my $twitter = Net::Twitter->new(
     traits => ['API::REST', 'OAuth'],
     consumer_key => $config->{'consumer_key'},
     consumer_secret => $config->{'consumer_secret'}
);
$twitter->access_token($config->{'access_token'});
$twitter->access_token_secret($config->{'access_token_secret'});
# 認証失敗時の処理
die('Auth failed:'.$config->{'username'}) unless ( $twitter->authorized ) ;

# ユーザー名を含むユーザー情報を取得
my $cr = $twitter->verify_credentials;
my $own_id = $cr->{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
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 = Array::Diff->diff(@following_id_list, @followers_id_list);

# リムった人をリム返し
foreach my $delid (@{ $diff->{deleted} }){
	$twitter->destroy_friend($delid);
}

だいたい構造がわかったのでちゃちゃっと書き足しましょうか^^

ぴくぴくダウンローダ 漫画対応版 β 02.01 公開

Pixivの好きな絵師さん、好きなタグの画像をPixivを自動で巡回して収集するプログラム ぴくぴくダウンローダ の漫画対応版を公開します。

Vectorに登録変更を行う間こちらからダウンロードください。

画像ではミクの画像でブックマーク数が1件以上ある画像(漫画を含む)を収集しているところです。

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

色々と好評価だったので調子にのってみましたww

多分機能的にはこれでほぼ完成になるのではないかと思います。インターフェースとかそこら辺の更新は今後気が向けばまた行うかもしれませんw

———- 追記 ———–

次回の更新で漫画を自動でフォルダ分けする機能をつけたいと思います。

pixivの画像を寝ている間にどんどんダウンロードするソフト ぴくぴくダウンローダ Vector で公開

ぴくぴくダウンローダ
http://www.vector.co.jp/soft/dl/winnt/net/se488700.html

うん。Vectorにソフトを公開するのは一つの夢でしたからね~((^ω^=^ω^))

ぴくぴくダウンローダ インストーラ付き 公開 β01.00

Pixivの画像を寝ている合間もひたすらダウンロードするソフトです。

インストール画面

動作画面

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