Vorwort:
Die erste Welle des Internets ist jetzt verschwunden. Mit der kommenden Ära des Internets der Dinge, die auf Tausenden von Daten basieren, sind Daten zu einer der wichtigsten strategischen Ressourcen von Unternehmen geworden. Basierend auf der Datenkriechentechnologie führt dieser Artikel Java-bezogene Crawling-Tools ein und fügt Demo-Quellcode für interessierte Freunde zum Testen hinzu!
1) JDK wird mit einer HTTP -Verbindung geliefert, um Seite oder JSON zu erhalten
2) JDK wird mit einer eigenen URL -Verbindung geliefert, um die Seite oder JSON zu erhalten
3) httpclient Holen Sie Tool, holen Sie Seite oder JSON
4) Commons-io-Tool, holen Sie Seite oder JSON
5) JSOUP -Tool (normalerweise für die Parsen von HTML -Feld verwendet) Seiten, Rückgabeformate ohne JSON】
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Vollständiger Code:
Paket com.yeezhao.common.http; import Java.io.bufufferedReader; Import Java.io.inputstream; Import Java.io.inputStreamReader; Import Java.net.httpurlconnection; import.url; org.apache.commons.httpclient.httpMethod; import org.apache.commons.httpclient.methods.getMethod; Httpfetchutil { / ** * Zugriffsstatuscode erhalten * @param request * @return * @throws Exception * / public static int getResponSecode (String -Anforderung) löst eine Ausnahme aus {url url = new url (request); HttpurlConnection conn = (httpurlConnection) url.openconnection (); return Conn.GetResponScode (); } / ** * 1) JDK wird mit einer HTTP -Verbindung geliefert, um die Seite oder JSON * @Param Request * @param charSet * @return * @throws Exception * / public static String Jdkfetch (String -Anforderung, String charSet) auszulöscht, Ausnahme {url = new URL (Anfrage); HttpurlConnection conn = (httpurlConnection) url.openconnection (); // Die Browserparameter Conn.SetRequestProperty ("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Wow64) Applewebkit/537,36" + "(khtml, wie Gecko) Chrome/45.0.2454.101 Safari/537.36"); if (conn.getResponSCode () == httpurlConnection.http_ok) {inputStream input = conn.getInputStream (); StringBuffer sb = new StringBuffer (); BufferedReader reader = neuer bufferedReader (neuer InputStreamReader (Eingabe, Charset)); String S; while ((s = reader.readline ())! = null) {sb.append (s + "/n"); } input.close (); conn.disconnect (); return sb.tostring (); } zurückkehren ""; } / ** * 2) JDK wird mit einer eigenen URL -Verbindung geliefert, um die Seite oder JSON * @Param Request * @param charSet * @return * @throws Exception * / public static String urlFetch (String -Anforderung, String charSet) auszulöscht, Ausnahme {url url = new URL (Anfrage); return ioutils.tostring (url.openstream ()); } / ** * 3) httpclient Holen Sie das Tool, holen Sie sich die Seite oder JSON * @param url * @param charset * @return * @throws Exception * / public static String httpclientFetch (String url, String charset) Ausnahme {// Get httpclient httpclient = new httpclient (); httpclient.getParams (). setContentCharSet (charSet); HttpMethod methode = new getMethod (URL); httpclient.executemethod (Methode); return methode.getResponsebodyAssstring (); } / ** * 4) Commons-io-Tool, sage oder json * @param url * @param charset * @return * @throws Exception * / public static String commonsiofetch (String url, String charset) löst Ausnahme {return ioutils.toString (neue URL (URL), Charset); } / ** * 5) JSOUP-Tool (normalerweise für HTML-Feld-Parsen verwendet) Seiten, Nicht-JSON-Rückgabeformat * @param url * @return * @Throws Exception * / public static String jSoupfetch (String url) Ausnahme {return jsoup.parse (neue url (url), 2 * 1000) .hr (). }}Testcode:
Paket com.yeezhao.common.http; import org.junit.after; Httpfetchutiltest {String Seeds [] = {"http://baike.baidu.com/view/1.htm","http://m.ximalaya.com/tracks/26096131.json" remyapi.yeezhao.com/api/query?wd=%E5%91%A8%E6%98%9f%E9%A9%B0%E7%9A%84%E7%94%B5%E5%BD%B1 "}; endgültige statische String default_charset = "utf-8"; @Before public void setup () löst Ausnahme aus {} @After public void remedown () löst Ausnahme aus {System.out.println ("--- Down ---"); } @Test public void testgetResponseCode () löst eine Ausnahme aus {für (String Seed: Seeds) {int responsecode = httpfetchutil.getresponseCode (Saatgut); System.out.println ("ret ="+responsecode); }} @Test public void testjdkfetch () löst eine Ausnahme aus {für (String Seed: Seeds) {String ret = httpfetchutil.jdkfetch (Seed, default_charset); System.out.println ("ret ="+ret); }} @Test public void testurlfetch () löst Ausnahme aus {für (String Seed: Seeds) {String ret = httpfetchutil.urlfetch (Seed, default_charset); System.out.println ("ret ="+ret); }} @Test public void testhttpclientFetch () löst Ausnahme aus {für (String Seed: Seeds) {String ret = httpfetchutil.httpclientFetch (Saatgut, default_charset); System.out.println ("ret ="+ret); }} @Test public void testcommonsiofetch () löst eine Ausnahme aus {für (String Seed: Seeds) {String ret = httpfetchutil.commonsiofetch (Seed, default_charset); System.out.println ("ret ="+ret); }} @Test public void testjSoupfetch () löst eine Ausnahme aus {für (String Seed: Seeds) {String ret = httpfetchutil.jSoupfetch (Seed); System.out.println ("ret ="+ret); }}}Anhang: Verwandte Glasabhängigkeiten
... <Depopentcy> <gruppe> org.jSoup </Groupid> <artifactId> JSOUP </artifactId> <version> 1.7.3 </Version> </abhängig> <depeaponcy> <gruppe> commons-httpclient </Groupid> <artifactid> comm ONS-HTTPCLIENT </artifactId> <version> 3.1 </Version> </abhängig> <abhängigkeit> <gruppe> commons-io </Groupid> <artifactid> commons-io </artifactid> <version> 2.4 </Version> </abhängig> ...
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.