2016-11-10 54 views
1

我正在通过jsoup的爬虫工作。我想显示亚洲电子商城https://world.taobao.com/的分类链接。我的代码是能够找到页面上的所有链接感谢:通过Java与jsoup加载嵌套链接

Elements links = doc.select("a[href]"); 
System.out.println("Total results: " + links.size()); 

但不是全部。我需要仅显示类别链接,这些链接嵌套在许多<div>标签中。

anchor

这里是我的代码:

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"))); 

     } 
    } 
} 

能否请你帮我解决这个问题?

回答

1

这实际上与您的代码无关。

特定网站使用JavaScript生成部分内容。由于Jsoup只能获取网站的静态部分,因此您无法轻松抓取它。

您仍然可以使用诸如Selenium之类的工具,因为它们实际上在浏览器内部执行JavaScript代码。

+0

谢谢阿列克谢,这是我害怕的答案:) – koubik

+0

我想问一下,是否有可能通过jsoup提取某些产品的正面和负面评论? https://i.stack.imgur.com/GDTMM.png – koubik

+0

可以使用JSoup提取在服务器端的页面上呈现的任何内容,而不是JavaScript。 –