/ / xpathまたはregexpを使用したimport.ioクローラーのセットアップ-regex、xpath、web-crawler、import.io

xpathまたはregexp-regex、xpath、web-crawler、import.ioを使用してimport.ioクローラを設定する

現在、Webクローラーを設定しようとしています不動産Webサイトからデータを抽出します。これらのサイトでは、特定の情報が各ページで同じ場所にない傾向があるため、特定のフレーズを含むテキスト要素を、それらがどこにあるかではなく抽出する方法を理解する必要があります。そのようなページの例を次に示します。

http://www.zillow.com/homedetails/2630-Hazy-Creek-Dr-Houston-TX-77084/28388488_zpid/

http://www.zillow.com/homedetails/16514-Park-Firth-Dr-Houston-TX-77084/28357799_zpid/

MLS#などの特定の情報がどのように表示されるかに注意してください別の場所で。これらのエントリの1つからxpathを抽出すると、次のようになります。フレーズ(私は確かに試しましたが、うまくいきません。)正規表現は有望なツールのようですが、^ MLSコマンドを使用すると、「MLS」で始まる要素を探す必要があり、単に機能しません。これを行うには簡単な方法があるはずですが、このサービスを使用するのは今回が初めてなので、まだあまり慣れていません。アドバイスをいただければ幸いです。

回答:

回答№1は6

正規表現では、データを抽出することはできません。既に抽出されたテキストをクリーンアップまたは変更するためだけです。

必要なデータを抽出するには、XPathを作成する必要があります。例として、私はあなたのためにそれをしました:

//*[@role="main"]//li[contains(text(), "MLS ")]

説明:ページのメインセクションを探してから検索します <li> それはテキストを含みます "MLS"。それは次のようなものを抽出します "MLS #: 66521347"

列タイプを「数値」として選択して、数値のみを取得できるようになりました(正規表現でもこれを行うことができます)。

編集: XPathが正しいとしても、import.ioにデータは返されません。別の方法があります。XPathを使用してそのセクションのすべてのテキストを取得し、正規表現を使用してMLSを選択します。

使用するXPath:

//*[@role="main"]/section[@class="zsg-content-section "][1]

使用する正規表現:

MLS #: (d+)