我正在通过jsoup处理crawler。我想显示来自亚洲电子商店https://world.taobao.com/的类别链接。我的代码能够找到页面上的所有链接,这要归功于:
Elements links = doc.select("a[href]");
System.out.println("Total results: " + links.size());
但不是全部。我只需要显示类别的链接,这些类别嵌套在许多<div>
标记中。
这是我的代码:
package jsoup;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class Crawler {
public static final String CLS_NAME = "Crawler";
public static final String URL_SOURCE = "https://world.taobao.com/";
public static void main(String[] args) throws IOException{
// load Document
Document doc = Jsoup.connect(URL_SOURCE).get();
// select only <a> tag with "href" attribute
Elements links = doc.select("a[href]");
System.out.println("Total results: " + links.size());
for (Element url: links){
System.out.println(String.format("* [%s] : %s ", url.text(), url.attr("abs:href")));
}
}
}
你能帮我解决这个问题吗?
答案 0 :(得分:1)
这实际上与您的代码无关。
特定网站使用JavaScript生成部分内容。由于Jsoup只能获取网站的静态部分,因此您无法轻松抓取它。
您仍然可以使用Selenium之类的工具,因为它们实际上是在浏览器中执行JavaScript代码。