このサイトから不動産に関するデータを自動的に取得したい:
ただし、API はありません。一般的にはどのようにしますか?私はすべての応答に感謝しています!
ページを自分でダウンロードし、すべての情報を自分で解析する必要があります。
Pattern
クラスを調べて、いくつかを調べたいと思うかもしれません。そうすればregex
、URL
andString
クラスは非常に便利です。
いつでも簡単にHTMLライブラリをダウンロードできます。おそらくhttp://htmlparser.sourceforge.net/のようなもの。
非常に一般的な質問なので、明らかに関連するコードを提供することはできませんが、これはスクレイピングとして知られています。
これは、ページからすべてのコンテンツを取得する方法です
その後、必要に応じてページデータを解析できます
package farzi;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URISyntaxException;
import org.apache.http.HttpException;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
public class GetXMLTask
{
public static void main(String args[])
{
try
{
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("http://derstandard.at/anzeiger/immoweb/Suchergebnis.aspx?Regionen=9&Bezirke=&Arten=&AngebotTyp=×tamp=1363245585829");
HttpResponse response;
StringBuilder builder= new StringBuilder();
response = httpClient.execute(httpPost);
System.out.println(response.toString());
BufferedReader in = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));
char[] buf = new char[1000];
int l = 0;
while (l >= 0)
{
builder.append(buf, 0, l);
l = in.read(buf);
}
System.out.println(builder.toString());
}
catch (URISyntaxException e) {
System.out.println("URISyntaxException :"+e);
e.printStackTrace();
}
catch (HttpException e) {
System.out.println("HttpException :"+e);
e.printStackTrace();
}
catch (InterruptedException e) {
System.out.println("InterruptedException :"+e);
e.printStackTrace();
} catch (IOException e) {
System.out.println("IOException :"+e);
e.printStackTrace();
}
}
}