その2までに目的の商品ページを表示することまで出来た。
次に取得したHTMLソースから、商品の価格を抜き取る。
■解析商品ページで現在の価格の表示部分は次のようになる。
<TD>現在の価格:</TD>
<TD><B>1,234円</B></TD>
”現”から19文字進んだ場所(>)から円の間を抜き取ればよい。
しかし、数字の桁は変動するので、
"円"の文字位置から"<B>"の位置を引くことで、
数字の桁を取得する
幸い”円</B>”となっているところは一つなので、
”現在の価格”と”円</B>"で文字位置を取得する。
■使用する関数・IndexOf(string)
stringを検索して、その文字位置を返す。
・Substring(開始位置、抜き出す文字数)
文字列から指定した場所から、指定した文字数を抜き出す。
■実装private void PRICEbutton_Click(object sender, System.EventArgs e)
{
IHTMLDocument3 html_doc = axWebBrowser.Document as IHTMLDocument3 ;
// から までのテキストを取得する
HTMLSRCtext.Text = html_doc.documentElement.outerHTML ;
//現在価格の表示
string price=searchword("現在の価格","円</B>",20,19);
PRICEtext.Text=price;
}
//検索用のメソッド
start=頭の文言、last=最後の文言、x=頭から除く文字数
private string searchword(string start,string last,int x)
{
string src=HTMLSRCtext.Text;
//頭をサーチ
string search=start;
int startindex=src.IndexOf(search);
//最後をサーチ
search=last;
int lastindex=src.IndexOf(search);
//頭から最後までで余分な文字を排除
return src.Substring(startindex+x,lastindex-startindex-x-1);
}
その4では商品への入札実行をしてみる。
また、今度は正規表現による検索も使ってみる。
-->