0

私はウェブサイトからデータを取得しようとしています。このコードで:

@WebServlet(description = "get content from teamforge", urlPatterns = { "/JsoupEx" })
public class JsoupEx extends HttpServlet {
    private static final long serialVersionUID = 1L;
    private static final String URL = "http://www.moving.com/real-estate/city-profile/results.asp?Zip=60505";

    public JsoupEx() {
        super();
    }

    protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        Document doc = Jsoup.connect(URL).get();
        for (Element table : doc.select("table.DataTbl")) {
            for (Element row : table.select("tr")) {
                Elements tds = row.select("td");
                if (tds.size() > 1) {
                    System.out.println(tds.get(0).text() + ":"
                            + tds.get(2).text());
                }
            }
        }
    }
}

jsoupパーサーを使用しています。実行すると、エラーは発生せず、出力はありません。

これについて助けてください。

4

2 に答える 2

4

次のコードで

public class Tester {
    private static final String URL = "http://www.moving.com/real-estate/city-profile/results.asp?Zip=60505";


    public static void main(String[] args) throws IOException {
        Document doc = Jsoup.connect(URL).get();
        System.out.println(doc);

    }

}

java.net.SocketTimeoutException: Read timed out が発生します。あなたがクロールしようとしている特定の URL は、Jsoup には遅すぎると思います。ヨーロッパにいるので、私の接続はあなたの接続より遅いかもしれません。ただし、AS のログでこの例外を確認することをお勧めします。

タイムアウトを 10 秒に設定することで、ドキュメントをダウンロードして解析できました。

Connection connection = Jsoup.connect(URL);
connection.timeout(10000);
Document doc = connection.get();
System.out.println(doc);

あなたのコードの残りの部分で私は得る:

人口:78,413人

1990年以降の人口変化:53.00%

人口密度:6,897

男性:41,137

女性:37,278

.....

于 2013-02-15T10:51:27.323 に答える
0

Julien に感謝します。次のコードを試してみて、SocketTimeoutException を取得しました。そしてコードは

Connection connection=Jsoup.connect("http://www.moving.com/real-estate/city-   
profile/results.asp?Zip=60505");
connection.timeout(10000);
Document doc = connection.get();
System.out.println(doc);
于 2013-02-18T05:08:29.983 に答える