摘要:一是一個開源解析器,可直接解析某個地址文本內容。通過或選擇器來查找取出數據,實現爬蟲。無頭瀏覽器一個完整的瀏覽器內核包括解析引擎渲染引擎請求處理等但是不包括顯示和用戶交互頁面的瀏覽器。
(一)Jsoup
Jsoup是一個Java開源HTML解析器,可直接解析某個URL地址、HTML文本內容。通過Dom或Css選擇器來查找、取出數據,實現爬蟲。
maven坐標
org.jsoup jsoup 1.11.2
Jsoup開發指南(中文版)
演示Demo
import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.select.Elements; import java.io.IOException; public class JsoupDemo { public static void main( String[] args ) throws IOException { Document doc = Jsoup.connect("http://www.baidu.com").get(); System.out.println("title:"+doc.title()); Elements es = doc.select("area"); //Elements es = doc.getElementByTag("area"); System.out.println("百度圖片點擊路徑:"+es.attr("href")); } }(二 )PhantomJs
PhantomJS是一個可編程的無頭瀏覽器。通過PhantomJs可以采集Ajax生成的內容。
無頭瀏覽器:一個完整的瀏覽器內核,包括js解析引擎,渲染引擎,請求處理等,但是不包括顯示和用戶交互頁面的瀏覽器。
PhantomJs官方文檔
步驟:
下載安裝,配置環境變量
編寫并執行js腳本
演示Demo
var page = require("webpage").create(), //網頁對象 system = require("system"), //系統對象 address,t; phantom.outputEncoding="gbk"; //設置輸出編碼 //phantom.outputEncoding="utf-8"; //設置輸出編碼 var arr = system.args; //判斷參數是否傳入 if(arr.length==1){ console.log("請輸入待請求url"); phantom.exit(0); } else { address = arr[1]; console.log("開始訪問頁面:"+address); t = Date.now(); //訪問頁面 page.open(address,function(status){ if(status !== "success"){ console.log("page faild to load."); phantom.exit(); } else { t = Date.now() - t; console.log("頁面訪問結束:耗時:"+t+"ms"); //引入jquery page.includeJs("http://code.jquery.com/jquery-2.2.4.min.js",function(){ var result = (page.evaluate(function(){ return $("area").attr("href"); })); console.log("圖片點擊路徑:"+result); phantom.exit(); }) } }) }
假設文件名為 c:/baidu.js;在命令行中執行 phantomjs c:/baidu.js http://www.baidu.com
java 調用Phantomjs
演示Demo
import java.io.*; public class PhantomJsDemo { public static void main( String[] args ) throws IOException { Runtime rn = Runtime.getRuntime(); String url = "http://www.baidu.com" Process process = rn.exec("phantomjs c:/baidu.js " + url); BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream())); StringBuffer sb = new StringBuffer(); String temp = ""; while((temp=br.readLine())!=null){ sb.append(temp); } System.out.println(sb.toString()); } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/68865.html
摘要:一是一個開源解析器,可直接解析某個地址文本內容。通過或選擇器來查找取出數據,實現爬蟲。無頭瀏覽器一個完整的瀏覽器內核包括解析引擎渲染引擎請求處理等但是不包括顯示和用戶交互頁面的瀏覽器。 (一)Jsoup Jsoup是一個Java開源HTML解析器,可直接解析某個URL地址、HTML文本內容。通過Dom或Css選擇器來查找、取出數據,實現爬蟲。 maven坐標 or...
摘要:新特性系統底層重構,規范包名采集線程白名單過濾優化,避免冗余失敗重試增強渲染方式采集能力,原生新提供,支持以方式采集頁面數據支持采集非頁面,如接口等,直接輸出響應數據選擇即可簡介是一個分布式爬蟲框架。默認提供單機版爬蟲。 v1.2.2 新特性 1、系統底層重構,規范包名; 2、采集線程白名單過濾優化,避免冗余失敗重試; 3、增強JS渲染方式采集能力,原生新提供 SeleniumPha...
摘要:的官方網址為,其使用手冊網址為本次分享將實現的功能為利用爬取某個搜索詞語暫僅限英文的百度百科的介紹部分,具體的功能介紹可以參考博客爬蟲自制簡單的搜索引擎。 ??Jsoup 是一款Java 的HTML解析器,可直接解析某個URL地址、HTML文本內容。它提供了一套非常省力的API,可通過DOM,CSS以及類似于jQuery的操作方法來取出和操作數據。Jsoup的官方網址為: https:...
摘要:介紹在博客爬蟲爬取豆瓣電影圖片中我們利用的爬蟲框架,將豆瓣電影圖片下載到自己電腦上。那么,在的爬蟲的也可以下載圖片嗎答案當然是肯定的在本次分享中,我們將利用的包和函數來實現圖片的下載。 介紹 ??在博客:Scrapy爬蟲(4)爬取豆瓣電影Top250圖片中我們利用Python的爬蟲框架Scrapy,將豆瓣電影Top250圖片下載到自己電腦上。那么,在Java的爬蟲的也可以下載圖片嗎?答...
摘要:介紹在博客爬蟲爬取中國高校排名前名并寫入中,我們利用來寫爬蟲,將中的大學排名表格爬取出來,并存入到中。本次分享將用的來實現相同的功能,并將爬取到的數據存入到數據庫中。 介紹 ??在博客:Python爬蟲——爬取中國高校排名前100名并寫入MySQL中,我們利用Python來寫爬蟲,將http://gaokao.xdf.cn/201702/1... 中的大學排名表格爬取出來,并存入到My...
閱讀 3027·2021-11-02 14:40
閱讀 843·2019-08-30 15:53
閱讀 1264·2019-08-30 15:53
閱讀 3258·2019-08-30 13:53
閱讀 3304·2019-08-29 12:50
閱讀 1131·2019-08-26 13:49
閱讀 1862·2019-08-26 12:20
閱讀 3660·2019-08-26 11:33