日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java爬蟲(Jsoup與WebDriver)的使用

瀏覽:61日期:2022-08-20 10:46:32

一、Jsoup爬蟲

jsoup 是一款Java 的HTML解析器,可直接解析某個URL地址、HTML文本內容。它提供了一套非常省力的API,可通過DOM,CSS以及類似于jQuery的操作方法來取出和操作數據。

以博客園首頁為例

1、idea新建maven工程

pom.xml導入jsoup依賴

<dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.12.1</version></dependency>

jsoup代碼

package com.blb;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;import java.io.IOException;public class jsoup { public static void main(String[] args) { //博客園首頁url final String url= 'https://www.cnblogs.com'; try { //先獲得的是整個頁面的html標簽頁面 Document doc= Jsoup.connect(url).get(); System.out.println(doc); //可以通過元素的標簽獲取html中的特定元素 Elements title = doc.select('title'); String t = title.text(); System.out.println(t); //可以通過元素的id獲取html中的特定元素 Element site_nav_top = doc.getElementById('site_nav_top'); String s = site_nav_top.text(); System.out.println(s); } catch (IOException e) { e.printStackTrace(); } }}

Java爬蟲(Jsoup與WebDriver)的使用

Java爬蟲(Jsoup與WebDriver)的使用

該方式有個很大的局限性,就是通過jsoup爬蟲只適合爬靜態網頁,所以只能爬當前頁面的信息。

二、Webdriver技術

Selenium是一個瀏覽器自動化操作框架。selenium主要由三種工具組成。1.第一個工具——SeleniumIDE,是Firefox的擴展插件,支持用戶錄制和回訪測試。錄制/回訪模式存在局限性,對許多用戶來說并不適合。

2.因此第二個工具——Selenium WebDriver提供了各種語言環境的API來支持更多控制權和編寫符合標準軟件開發實踐的應用程序。

3.最后一個工具——SeleniumGrid幫助工程師使用Selenium API控制分布在一系列機器上的瀏覽器實例,支持并發運行更多測試。

在項目內部,它們分別被稱為“IDE”、“WebDriver”和“Grid”。

什么是 Webdriver ?

官網介紹:

WebDriver is a clean, fast framework for automated testing of webapps.(WebDriver是一個干凈、快速的web應用自動測試框架。)

WebDriver針對各個瀏覽器而開發,取代了嵌入到被測Web應用中的JavaScript。與瀏覽器的緊密集成支持創建更高級的測試,避免了JavaScript安全模型導致的限制。除了來自瀏覽器廠商的支持,WebDriver還利用操作系統級的調用模擬用戶輸入。WebDriver支持Firefox(FirefoxDriver)、IE (InternetExplorerDriver)、Opera (OperaDriver)和Chrome (ChromeDriver)。 它還支持Android (AndroidDriver)和iPhone (IPhoneDriver)的移動應用測試。它還包括一個基于HtmlUnit的無界面實現,稱為HtmlUnitDriver。WebDriver API可以通過Python、Ruby、Java和C#訪問,支持開發人員使用他們偏愛的編程語言來創建測試。

WebDriver如何工作

WebDriver是W3C的一個標準,由Selenium主持。

具體的協議標準可以從http://code.google.com/p/selenium/wiki/JsonWireProtocol#Command_Reference 查看。

從這個協議中我們可以看到,WebDriver之所以能夠實現與瀏覽器進行交互,是因為瀏覽器實現了這些協議。這個協議是使用JOSN通過HTTP進行傳輸。

它的實現使用了經典的Client-Server模式。客戶端發送一個requset,服務器端返回一個response。

我們明確幾個概念。

Client

調用 WebDriverAPI的機器。

Server

運行瀏覽器的機器。Firefox瀏覽器直接實現了WebDriver的通訊協議,而Chrome和IE則是通過ChromeDriver和InternetExplorerDriver實現的。

Session

服務器端需要維護瀏覽器的Session,從客戶端發過來的請求頭中包含了Session信息,服務器端將會執行對應的瀏覽器頁面。

WebElement

這是WebDriverAPI中的對象,代表頁面上的一個DOM元素。

實現:

1.下載瀏覽器驅動,用的是Chrome瀏覽器,下載地址http://chromedriver.storage.googleapis.com/index.html,按對應瀏覽器版本號下載

Java爬蟲(Jsoup與WebDriver)的使用

Java爬蟲(Jsoup與WebDriver)的使用

2、idea新建maven工程

pom.xml導入入selinium依賴

<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.141.59</version> </dependency>

代碼實現:

package com.blb;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.select.Elements;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;public class chrome { public static void main(String[] args) { //下載的chromedriver位置 System.setProperty('webdriver.chrome.driver','D:idea_workspaceJsoupsrcmainchromedriver.exe'); //實例化ChromeDriver對象 WebDriver driver = new ChromeDriver(); String url='https://search.51job.com/list/000000,000000,0000,00,9,99,%25E5%25A4%25A7%25E6%2595%25B0%25E6%258D%25AE%25E5%25B7%25A5%25E7%25A8%258B%25E5%25B8%2588,2,1.html?lang=c&stype=&postchannel=0000&workyear=99&cotype=99&degreefrom=99&jobterm=99&companysize=99&providesalary=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate=9&fromType=&dibiaoid=0&address=&line=&specialarea=00&from=&welfare='; //打開指定網站 driver.get(url); //解析頁面 String pageSource =driver.getPageSource(); Document jsoup = Jsoup.parse(pageSource); //定義選擇器規則 String rule='#resultList > div:nth-child(4) > p > span > a'; //通過選擇器拿到元素 Elements select = jsoup.select(rule); String s=select.text(); System.out.println(s); //模擬瀏覽器點擊 driver.findElement(By.cssSelector(rule)).click(); }}

爬取電影資源:

package com.blb;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;public class getMovie {private static final String url='http://www.zuidazy5.com';public static void main(String[] args) {System.setProperty('webdriver.chrome.driver','D:idea_workspaceJsoupsrcmainchromedriver.exe');WebDriver driver = new ChromeDriver();driver.get(url);String pageSource = driver.getPageSource();Document jsoup = Jsoup.parse(pageSource);String rule1='body > div.xing_vb > ul> li > span.xing_vb4 > a';Elements select = jsoup.select(rule1);//遍歷當前頁的所有電影詳情入口for (Element e:select){//獲取電影詳情頁鏈接String href = e.attr('href');//進入每個電影詳情頁面driver.get(url+href);String pageSource2= driver.getPageSource();Document jsoup2 = Jsoup.parse(pageSource2);//定義獲取電影信息元素的規則String mname='body > div.warp > div:nth-child(1) > div > div > div.vodInfo > div.vodh > h2';String mpic='body > div.warp > div:nth-child(1) > div > div > div.vodImg > img';String mdirector='body > div.warp > div:nth-child(1) > div > div > div.vodInfo > div.vodinfobox > ul > li:nth-child(2) > span';String mactor='body > div.warp > div:nth-child(1) > div > div > div.vodInfo > div.vodinfobox > ul > li:nth-child(3) > span';String marea='body > div.warp > div:nth-child(1) > div > div > div.vodInfo > div.vodinfobox > ul > li:nth-child(5) > span';String mlanguage='body > div.warp > div:nth-child(1) > div > div > div.vodInfo > div.vodinfobox > ul > li:nth-child(6) > span';String mshowtime='body > div.warp > div:nth-child(1) > div > div > div.vodInfo > div.vodinfobox > ul > li:nth-child(7) > span';String mscore='body > div.warp > div:nth-child(1) > div > div > div.vodInfo > div.vodh > label';String mtimelength='body > div.warp > div:nth-child(1) > div > div > div.vodInfo > div.vodinfobox > ul > li:nth-child(8) > span';String mlastmodifytime='body > div.warp > div:nth-child(1) > div > div > div.vodInfo > div.vodinfobox > ul > li:nth-child(9) > span';String minfo='body > div.warp > div:nth-child(1) > div > div > div.vodInfo > div.vodinfobox > ul > li.cont > div > span.more';String mplayaddress1='#play_1 > ul > li';String mplayaddress2='#play_2 > ul > li';String msv='body > div.warp > div:nth-child(1) > div > div > div.vodInfo > div.vodh > span';//獲取元素信息String sv=jsoup2.select(msv).text();String name = jsoup2.select(mname).text();String pic = jsoup2.select(mpic).attr('src');String director=jsoup2.select(mdirector).text();String actor=jsoup2.select(mactor).text();String area=jsoup2.select(marea).text();String language=jsoup2.select(mlanguage).text();String showtime=jsoup2.select(mshowtime).text();String score=jsoup2.select(mscore).text();String timelength=jsoup2.select(mtimelength).text();String lastmodifytime=jsoup2.select(mlastmodifytime).text();String info=jsoup2.select(minfo).text();String playaddress1 = jsoup2.select(mplayaddress1).text();String playaddress2=jsoup2.select(mplayaddress2).text();//打印電影名System.out.println(name);}}}

為了不顯示瀏覽器爬取過程,可以將chromedriver.exe 換成無頭瀏覽器 phantomjs.exe

下載地址:https://phantomjs.org/download.html

到此這篇關于Java爬蟲(Jsoup與WebDriver)的使用的文章就介紹到這了,更多相關Java Jsoup與WebDriver爬蟲內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
精品一区在线| 国产亚洲欧洲| 国产精品自在| 国产精品久久久久77777丨| 日本99精品| 国产日产高清欧美一区二区三区| 亚洲v天堂v手机在线| 日韩欧美四区| 欧美激情在线精品一区二区三区| 久久精品五月| 国产麻豆久久| 波多野结衣一区| 久久成人国产| 亚洲三级网站| 六月天综合网| 日本亚洲最大的色成网站www| 青青草国产精品亚洲专区无| 国产精品一线天粉嫩av| 国际精品欧美精品| 亚洲成人二区| 天堂成人免费av电影一区| 日韩制服丝袜av| 69堂免费精品视频在线播放| 精品国产欧美日韩| 欧美精品高清| 日韩亚洲精品在线| 日韩一区二区三区免费视频| 你懂的网址国产 欧美| 日韩成人综合| 午夜宅男久久久| 日韩激情啪啪| 国产资源在线观看入口av| 好吊日精品视频| 日韩av不卡在线观看| 欧美极品中文字幕| 久久要要av| 亚洲有吗中文字幕| 国产精品videossex久久发布| 91免费精品| 亚洲精品一二三区区别| 青青青国产精品| 亚洲国产福利| 石原莉奈一区二区三区在线观看| 清纯唯美亚洲综合一区| 成人午夜精品| 蜜臀精品久久久久久蜜臀| 久久精品一区二区国产| 不卡视频在线| 久久不见久久见中文字幕免费| 91精品蜜臀一区二区三区在线| 色8久久久久| 日本综合字幕| 日本少妇精品亚洲第一区| 中文字幕在线视频久| 亚洲一区二区三区久久久| 成人精品动漫一区二区三区| 久久久久一区| 国产免费av国片精品草莓男男| 欧美日韩一二三四| 国产精品香蕉| 精品中文一区| 麻豆成人在线观看| 天使萌一区二区三区免费观看| 国产日产高清欧美一区二区三区 | 美腿丝袜亚洲一区| 在线成人动漫av| 国产精品成人**免费视频| 亚洲在线电影| 国产精选在线| 日韩和欧美的一区| 99久久九九| 精品一区不卡| 91精品日本| 鲁大师影院一区二区三区| 福利一区二区免费视频 | 中国字幕a在线看韩国电影| 亚洲精品国模| 激情综合网站| 国产一区二区三区四区二区| 亚欧洲精品视频在线观看| 亚洲91精品| 水蜜桃久久夜色精品一区| 日韩精品第二页| 亚洲一区亚洲| 99精品综合| 国产va免费精品观看精品视频| 日本不卡视频一二三区| 国产真实久久| 高清av不卡| 精品国产亚洲一区二区在线观看| 日韩国产在线观看一区| 怡红院精品视频在线观看极品| 日韩一区二区三区免费播放| 免费在线观看一区| 欧美日韩一区自拍| 亚洲视频电影在线| 亚洲精品网址| 亚洲精品一区三区三区在线观看| 久久婷婷国产| 久久gogo国模啪啪裸体| 欧美在线看片| 日韩高清不卡一区| 亚洲精品免费观看| 一本综合精品| 亚洲精品在线国产| 蜜桃视频一区二区三区在线观看| 欧美日韩国产亚洲一区| 久久美女精品| 国内精品福利| 91久久久精品国产| 欧美在线亚洲| 一区三区视频| 激情欧美丁香| 久久精品不卡| 国产综合亚洲精品一区二| 久久中文字幕av一区二区不卡| 成人日韩在线观看| 91精品蜜臀一区二区三区在线 | 国产精品一区二区三区av麻| 日韩精品免费视频一区二区三区| 亚洲小说春色综合另类电影| 亚洲一区二区三区无吗| 久久av在线| 日韩中文字幕1| 久久国产精品久久w女人spa| 亚洲天堂免费| 欧美精品中文| 精品国产乱码久久久久久1区2匹| 国产精品99久久精品| 久久久一本精品| 亚洲电影在线一区二区三区| 99国产精品私拍| 蜜桃视频一区二区| 91久久精品无嫩草影院| 免费在线观看一区| 五月激情久久| 午夜久久99| 午夜久久av| 蜜桃久久久久| 蜜桃精品在线| 国产精品毛片一区二区三区| 亚洲开心激情| 国产精品国产三级在线观看| 欧美国产小视频| 亚洲一级高清| 香蕉久久久久久| 欧美激情五月| 亚洲91视频| 亚州欧美在线| 国产一区二区三区精品在线观看| 久久电影tv| 亚洲免费影视| 国产精品毛片视频| 最近高清中文在线字幕在线观看1| 免费久久精品| 日韩av一级片| 久久青青视频| 视频一区国产视频| 国产劲爆久久| 日韩精品一区二区三区免费观影 | 国产欧美午夜| 成人在线视频免费| 91精品1区| 日韩不卡免费视频| 国产suv精品一区| 黄色亚洲在线| 久久超级碰碰| 欧美精品一卡| 欧美精品99| 欧美日韩视频| 卡一卡二国产精品| 性一交一乱一区二区洋洋av| 久久av日韩| 欧美日韩免费观看一区=区三区| 欧美日韩a区| 久久精品播放| 久久国产精品免费一区二区三区 | 中文字幕一区久| 中文视频一区| 亚洲性色av| 国产日韩一区二区三免费高清| 欧美一区久久久| 日本欧美一区| 欧美99久久| 免费视频一区二区三区在线观看 | 欧美在线看片| 免费不卡中文字幕在线| 日本a级不卡| 欧美福利专区| 久久久久黄色| 免费国产亚洲视频| 成人在线免费观看91| 奶水喷射视频一区| 91综合网人人| 91精品国产自产观看在线| 亚洲香蕉网站| 福利在线一区| 国产精品自拍区| 亚洲乱亚洲高清| 欧美特黄一级大片|