私はWebクロールの初心者です。たとえば、次のページのページをクロールしようとしています: http ://shopping.yahoo.com/search;_ylt=AkzLiLhD9_ulIJy.SYsw9T0bFt0A?p=video&did=0
Amazon.comやantonline.comなどの検索結果を抽出する必要があります。これを達成するのに役立ついくつかのテクニック、ツール、swに名前を付けるのに役立つ体はありますか?
編集:私はJavaで作業する必要があります。
私はWebクロールの初心者です。たとえば、次のページのページをクロールしようとしています: http ://shopping.yahoo.com/search;_ylt=AkzLiLhD9_ulIJy.SYsw9T0bFt0A?p=video&did=0
Amazon.comやantonline.comなどの検索結果を抽出する必要があります。これを達成するのに役立ついくつかのテクニック、ツール、swに名前を付けるのに役立つ体はありますか?
編集:私はJavaで作業する必要があります。
URLからファイルを読み込みます。すべてマークアップになります。
正規表現を適用して、ページにあるパターンを使用してデータを抽出します。
マークアップを調べてデータのパターンを引き出し、正規表現を記述してデータを抽出します。ここでは、各アイテムのタイトルと価格が必要になると想定しています。したがって、たとえば、サンプルファイルでは、すべてのタイトルがでラップされて<li class ='hproduct'>
おり、すべての価格がの中にあることがわかります<p class='price'>
。それらのdivの内容をこの順序で見つける正規表現を記述します。
基本的には、ブラウザのdevtools(ChromeまたはFirebug)でページを検査するという考え方です。特別なIDまたはクラスを見つけてください。あなたのページには、これを使用<ul class='hproducts'>
するリストがあります。<li class='hproduct'>
次に、電話をかけて応答を取得し、解析します。(Google for DOM、SAX、XPath ...)これは言語とライブラリで大きく異なります。たとえば、Javaには、html(この場合はxmlとは少し異なります)をフェッチして便利な方法で解析できるJSoupライブラリがあります。
または彼らのAPIのためのより良いグーグル;)
SeleniumWebDriverはそれを行うことができます:
http://seleniumhq.org/projects/webdriver/
1年前にrubyでの抽出に使用したことがありますが、Javaでも使用できます。
Watirも見てください:(http://watir.com)
記事のサンプル:(Rubyを使用)
HTMLUnitライブラリを探すこともできます。
Webページのhtml要素をスクラップ(抽出)するためのHTMLUnitの例を以下に示します。