今日私はJSoup
で「遊ぶ」を始めました。私はどれくらいの力があるのかを知りたかったので、多くの要素を持つWebページを探して、それらのすべてを取得しようとしました。そして、私が探していたものが見つかりました:http://www.top1000.ie/companies。なぜJSoupはページのすべての要素を読み込まないのですか?
これは、類似している(リストの各会社の)要素が多い(1000)リストです。それらの中のテキストを変更するだけで、それを取得しようとしたものはそのテキストですが、私は最初の20個の要素しか取得できず、残りの部分は取得できません。
これは私の単純なコードです:
package retrieveInfo;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class Retrieve {
public static void main(String[] args) throws Exception{
String url = "http://www.top1000.ie/companies";
Document document = Jsoup.connect(url)
.userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0")
.timeout(1000*5)
.get();
Elements companies = document.body().select(".content .name");
for (Element company : companies) {
System.out.println("Company: " + company.text());
}
}
}
私もそれができるというページをロードする時間がなかったこと、それは私が5秒を待つように.timeout(1000*5)
を置くが、私が唯一できる理由ですリストの最初の20要素を取得します。
JSoup
には、ウェブページから取得できる要素の上限がありますか?私はそれがその目的のために準備されているように思われるので、私は自分のコードに何かが足りないと思うので、そうしてはいけないと思います。
ご協力いただければ幸いです。前もって感謝します!
Jsoupのどのバージョンですか? – avgvstvs
@avgvstvs最新:1.9.1 –