サイトマップを作成したい
インプットファイル(input.txt)
AAA BBB AAA CCC
ソース
#!/usr/local/bin/perl use strict; use URI::Escape; my $file = "input.txt"; my $count = 0; open (FH, $file); open (DATA, ">>output.txt"); while (my $line = <FH>){ $line = trim($line); my $encoded = uri_escape $line; if (length $encoded < 1){ $count = 0; next; } if ($count == 0){ print DATA '<url>'."\n"; print DATA '<loc>http://XXXXXXX.com?param1'; print DATA "$encoded"; $count += 1; } else { print DATA '¶m2='; print DATA "$encoded"; print DATA '</loc>'."\n"; print DATA '<lastmod>2016-01-01T12:00:00+01:00</lastmod>'."\n"; print DATA '</url>'."\n"; $count = 0; } } close (DATA); close(FH); sub trim { my $val = shift; $val =~ s/^\s*(.*?)\s*$/$1/; return $val; }
アウトプット(output.txt)
<url> <loc>http://XXXXXXX.com?param1=AAA¶m2=BBB</loc> <lastmod>2016-01-01T12:00:00+01:00</lastmod> </url> <url> <loc>http://XXXXXXX.com?param1=AAA¶m2=CCC</loc> <lastmod>2016-01-01T12:00:00+01:00</lastmod> </url>
松尾 茂起 エムディエヌコーポレーション 2016-11-01
組み合わせの一覧を出す
概要
2個の組み合わせの一覧を出したい
フォルダ構成
/
└test.pl
└lib
└Math
└Combinatorics.pm
└input.txt
└output.txt
インプットファイル(input.txt)
AAA BBB CCC
ソース
#!/usr/local/bin/perl use lib 'lib'; use strict; use Math::Combinatorics; use Data::Dumper; use utf8; my $file = "input.txt"; my @list; # 2つの組み合わせ my $combination_num = 2; open (FH, $file); while (my $line = <FH>){ push(@list, $line); } close(FH); my @combine = combine($combination_num, @list); open (DATA, ">>output.txt"); foreach my $ref(@combine){ print DATA "@$ref\n"; } close (DATA);
itunes APIからiPhone Appの情報を取得
URL
Appの情報を取得したい場合
ユーザレビューの情報を取得したい場合
http://itunes.apple.com/jp/rss/customerreviews/id={app_id}/json
{app_id}に関してはitunesのidXXXXXX部分に置き換えてください
Amazonを例にとると374254473の部分
https://itunes.apple.com/jp/app/amazon-shoppinguapuri/id374254473?mt=8
最新!Amazon徹底活用
posted with カエレバ
リダイレクトされているページを調査してみる
概要
調査したいSPページのURL一覧に対して、metaタグでrefreshを指定しているURL一覧を抽出したい
インプットファイル(input.txt)
http://XXXXXXX http://XXXXXXX
ソース
use strict; use warnings; use LWP::UserAgent; use HTML::TreeBuilder; # iphoneのフリをする my $user_agent = "Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13F69 Safari/601.1"; # file指定 my $input="input.txt"; my $output="output.txt"; my @files; # input file読み込み open (IN, $input) or die "$!"; while (<IN>) { push(@files, $_); } close (IN); # input fileの中身を調査する foreach my $var(@files){ # 改行コードの削除 $var =~ s/(\r\n|\r|\n)$//g; my $url = $var; # 0.5秒sleepする select undef, undef, undef, 0.5; # LWPを使ってサイトにアクセスし、HTMLの内容を取得する my $ua = LWP::UserAgent->new('agent' => $user_agent); my $res = $ua->get($url); my $content = $res->content; # HTML::TreeBuilderで解析する my $tree = HTML::TreeBuilder->new; $tree->parse($content); # 必要なタグを抜き出す foreach my $tag ($tree->find("meta")) { # metaタグ内にrefreshがあるものを抽出する if ($tag->as_HTML =~ /refresh/){ # 調査対象となるURLとmetaタグをoutput fileに出力 open (OUT, ">>$output") or die "$!"; print OUT $url.",".$tag->as_HTML."\n"; close (OUT); } } }
アウトプット(output.txt)
http://XXXXXXX,<meta URL=http://XXXXXXX" http-equiv="refresh" />