Rubyによるアメブロのペタ貼り自動化スクリプト(15) アメンバー限定記事の処理の不具合
前回までにアメンバー限定記事の処理コードを書いた。
のだけれども、どうもまだ不具合がある。
不具合なのは以下の部分
#アメンバー申請へのリンクを探す #アメンバー申請へのリンクが見つかった場合には、ペタへのリンクとどちらが先か確認する if (amember_e_get = amember_entry.match(response)) and (entry_point >amember_e_get.begin(0)) amember_path = amember_e_get.to_s amember_path.sub!(/secret.ameba.jp/,'') http2 = Net::HTTP.new('secret.ameba.jp') http2.start amember_response = http2.get(amember_path, header) http2.finish if peta_entry.match(amember_response.body) peta_e_path = peta_blog_e_get.to_s posting_text = "from blog entry(amenber).." else peta_e_path = '/p/addPeta.do?targetAmebaId='+line+'&service=profile' posting_text = "from Profile(not amenber)..." end else peta_e_path = peta_blog_e_get.to_s posting_text = "from blog entry..." end
ペタへのリンクとアメンバー申請のリンクの前後関係を調べ、アメンバー申請のリンクが先の場合にはその記事をアメンバー限定記事の扱いにしたのだが、コレが不具合だった。
アメブロでは、画像付き記事とかの場合に記事の末尾ペタリンクの前に3件の『最近の画像付き記事』とかのリンク画像が付加されている。
その過去記事の中にアメンバー限定記事があった場合、上記スクリプトでは一般記事をアメンバー限定記事と誤判断してしまう。
横着なスクリプトではなかなか上手くいかないモノだ。