自分自身のための ものづくり / 自分自身のためのものづくりメモ

* 100万点のspam出品

#ヤフオク #YAH!
YAH! NG_IDの整理
http://baku.homeunix.net/WiKi/rnx/index.rb?1179662167.txt
にて取得した、IDと出品数のリストを、出品数の多い順にソートし、上位の総出品数を算出した。

結果

 1000点以上出品しているIDが 389 あり、それら総出品数は 716044 --- 71万点 であった。
 100点以上出品しているIDが 1361 あり、それらの総出品数は 1087596 --- 108万点 であった。




* YAH! NG_IDの整理

#ヤフオク #YAH!
 YAH!のNG_IDの整理を行った。
 これまでに登録した各IDの総出品数をAPIにより取得し、IDと組にして出力。消えているID、もう活動していないIDをリストから消去した。

http://baku.homeunix.net/program/yahX/list_ngid.tgz

$ ruby -Ku list_ngid.rb ng_ID.txt | tee ngid_listed.txt
$ ruby -n -a -e 'print "#{$F[0]}\n" if $F[1].to_i>0' < ngid_listed.txt  > ng_id_active.txt

$ sort -n -k 2 -n -r < ngid_listed.txt > ngid_listed_sorted.txt

 自分用のNG_IDは、最初のYAH!を作って以来引き継いでおり、総登録数が4946件だった。内、IDが残っているのが4391、1点以上出品があるのが2839だった。
 NG_IDとの照合はrubyのHashを使っていて、数が増えても照合時間はさほど増えない。…が、もう消えているIDは確実に無駄だし、活動していないのも無駄だろう。

* deny from 64.124.85.0/24

#Web
 再び、BecomeBotに検索履歴をかき回されたので、.htaccessにて排除することにした。
robots.txt BecomeBot締め出し
http://baku.homeunix.net/WiKi/rnx/index.rb?1138996756.txt
にてのけ者にしたはずなのだが、BecomeJPBotは別物というわけか。え゛ー。
 ちなみに、robots.txtは最初にちゃんと読んでる。

 20秒に一度のアクセスだったり、UAの項に載っている http://www.become.co.jp/site_owners.htmlは「お客様が指定されたページは見つかりませんでした。」だったり、かなり感じ悪い。
(ちなみに、正しくは、http://www.become.co.jp/site_owner.html だそうだ。その辺の食い違いも感じ悪いぞ)
 また、他の多くのクローラの挙動と違ってリファラを送る点で、RandomeNoteの敵。

↓はた迷惑なアクセスの記録
(ReadMore...)

* Yahoo!オークションWebサービスで検索ができるようになった

 これまではそれができないのがかなり痛かったのだが、これで通常のブラウザでのアクセスとほぼ同等の情報が得られるようになったな。
 残るは、アダルトカテゴリへの対応?

Yahoo!デベロッパーネットワーク - 検索
http://developer.yahoo.co.jp/auctions/rest/search/V1/search.html

#ヤフオク #YAH! #Web

* カテゴリ情報のデータが時々変

 ヘッダは200OKを返してくるのに、中身が"1\r\n"だけだったり、<childCategory>内の<categoryName>だけが抜けてたりする。
 検査して変だったらもう一回データを読み直すか?

#Ruby #REXML #ヤフオク #YAH! #途中経過

* Yahoo!オークションWebサービスとRSSとを併用

 これまでは、役に立たないと思っていたヤフオクのRSSは結構使えるかもしれん。
 特に、Yahoo!オークションWebサービスのAPIでは検索できないけど、RSSの方なら検索結果が得られるのはありがたい。
http://search3.auctions.yahoo.co.jp/search_rss?p=mobilegear&auccat=23336&alocale=0jp&acc=jp

#Ruby #REXML #ヤフオク #YAH! #途中経過

* YAH!X試験中

 Yahoo!オークションWebサービスにより提供されるXMLデータを使うYahoo!AuctionHelperを作成中。

↓とりあえずの実験バージョン
http://baku.homeunix.net/program/yahX/yahX_test01.rb?category=2084045752&pic=true
categoryを書き換えれば他のカテゴリを見れる。
pic=trueで画像表示。それ以外で非表示。

 YAH!の特徴である各種NG機能は、とりあえず「NGキャラクタ」のみ実装。
 「次の25件」をいちいちクリックしなくてもいいので、現状でもとりあえずそこそこ役立つと思う。

 YAH! Ver.3としようかと思っていたけど、Yahoo!オークションWebサービスでは今のところキーワード検索ができないっぽいなどの理由で、Ver.Xとして別物としての扱い。

#Ruby #REXML #ヤフオク #YAH! #途中経過

* REXMLを使ってヤフオクのXMLデータを読む

 楽だ…。機械で読みやすいデータが提供されてるというのはこんなにもありがたい物だったとは。
 また、便利なREXMLに感謝。

#!ruby -Ku

require 'jcode'
require 'nkf'
require "rexml/document"

file = File.new( "y.xml" )
y = REXML::Document.new file

y.root.each_element('item') do |item|
  p item.elements['auctionID'].text
  p item.elements['title'].text
  item.each_element('seller') do |s_item|
    p s_item.elements['itemlist'].text
    p s_item.elements['rating'].text
  end
  p item.elements['url'].text
  p item.elements['img'].text
  p item.elements['price'].text
  p item.elements['bids'].text
  p item.elements['endtime'].text
end

Yahoo!デベロッパーネットワーク - オークションWebサービス
http://developer.yahoo.co.jp/auctions/

REXML - Home
http://www.germane-software.com/software/rexml/index.html

私家版REXML APIリファレンス
http://www.cozmixng.org/~kou/ruby/rexml/reference

REXML Tutorial - Home
http://www.germane-software.com/software/rexml/docs/tutorial.html

REXML であそぶ
http://www.namikilab.tuat.ac.jp/~sasada/prog/rexml.html


#Ruby #REXML #ヤフオク #YAH! #途中経過