0

私は、このコードを Web ページからコンテンツを読み取ろうとしていました。リンク、リンクの下の作成者名、右側のデータベースまたは Java を使用する doc ファイルへの PDF または HTML リンクを読み取りたいです。

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 HTMLParserExample1 {

   public static void main(String[] args) {

      Document doc;
      try {
         // need http protocol
         doc = Jsoup.connect("http://scholar.google.com/scholar?  l=en&q=visualization&btnG=&as_sdt=1%2C4&as_sdtp=").userAgent("Chrome").get();

         Element content = doc.getElementById("content");
         Elements links = content.getElementsByTag("a");
         for (Element link : links) {
            String linkHref = link.attr("href");
            String linkText = link.text();
            System.out.println("\nLinHREF: "+linkHref);
            System.out.println("linktext: "+linkText);
         }


      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}

上記は私のコードで、以前は 403 エラーが発生していましたが、useragent("Mozilla") を配置すると、null ポインター例外が発生しました。

Exception in thread "main" java.lang.NullPointerException
        at HTMLParserExample1.main(HTMLParserExample1.java:20)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)

助けてください。

4

1 に答える 1

1

URLからスペースを削除しても問題ありません http://scholar.google.com/scholar?l=en&q=visualization&btnG=&as_sdt=1%2C4&as_sdtp= 。直接の Google 解析ではなく、Web 検索に Google API を使用することを強くお勧めします。 ここに Gdata API に関する情報があります

于 2013-10-30T09:43:03.937 に答える