国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java學(xué)習(xí)筆記:爬蟲-操作動(dòng)態(tài)網(wǎng)頁(yè)的Selenium

這篇具有很好參考價(jià)值的文章主要介紹了Java學(xué)習(xí)筆記:爬蟲-操作動(dòng)態(tài)網(wǎng)頁(yè)的Selenium。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Why Selenium?

有些網(wǎng)頁(yè)內(nèi)容是在瀏覽器端動(dòng)態(tài)生成的,直接Http獲取網(wǎng)頁(yè)源碼是得不到那些元素的。

Selenium可以自動(dòng)啟動(dòng)一個(gè)瀏覽器、打開(kāi)網(wǎng)頁(yè),可以用程序操作頁(yè)面元素,也可以獲得瀏覽器當(dāng)前頁(yè)面動(dòng)態(tài)加載的頁(yè)面元素。

比如:百度圖片的圖片是動(dòng)態(tài)加載的。

用法:

1、下載安裝Chrome瀏覽器。

2、下載Chrome對(duì)應(yīng)版本的Selenium? chromeDriver

java selenium實(shí)現(xiàn)網(wǎng)頁(yè)操作,java,學(xué)習(xí),爬蟲,selenium

鏡像文件?

Index of chromedriver-local

查找版本相似的下載

java selenium實(shí)現(xiàn)網(wǎng)頁(yè)操作,java,學(xué)習(xí),爬蟲,selenium

我是Windows系統(tǒng),就下Windows版本

下載好,把文件放在你Chrome瀏覽器的同一級(jí)文件夾下?

3、將chromeDriver 放在chrome瀏覽器根目錄下,它負(fù)責(zé)對(duì)Chrome瀏覽器執(zhí)行自動(dòng)化操作

java selenium實(shí)現(xiàn)網(wǎng)頁(yè)操作,java,學(xué)習(xí),爬蟲,selenium

4、程序通過(guò)Maven安裝包:selenium-java,它和chromeDriver通訊。

java selenium實(shí)現(xiàn)網(wǎng)頁(yè)操作,java,學(xué)習(xí),爬蟲,selenium

java selenium實(shí)現(xiàn)網(wǎng)頁(yè)操作,java,學(xué)習(xí),爬蟲,selenium

下載百度圖片的圖片

java selenium實(shí)現(xiàn)網(wǎng)頁(yè)操作,java,學(xué)習(xí),爬蟲,selenium

自動(dòng)的將網(wǎng)頁(yè)打開(kāi)

java selenium實(shí)現(xiàn)網(wǎng)頁(yè)操作,java,學(xué)習(xí),爬蟲,selenium

百度圖片的圖片是動(dòng)態(tài)加載的。

System.setProperty("webdriver.chrome.driver", chromedriver的路徑);

ChromeDriver driver = new ChromeDriver();

String url=百度圖片網(wǎng)址;

driver.get(url);

List<WebElement> imgs = driver.findElement(By.className("imglist")).findElements(By.tagName("img"));

for(int i=0;i<imgs.size();i++)

{

? WebElement img = imgs.get(i);

? String imgSrc = img.getAttribute("data-imgurl");

? byte[] bytes = new HttpSender().sendGetBytes(imgSrc);//yzk18-net

? ImageType imgType = ImageHelpers.detectImageType(bytes);//yzk18-commons

? IOHelpers.writeAllBytes("e:/temp/"+i+"."+imgType,bytes);

}

driver.close();

driver.quit();

More

java selenium實(shí)現(xiàn)網(wǎng)頁(yè)操作,java,學(xué)習(xí),爬蟲,selenium

package Part6;

import com.yzk18.commons.IOHelpers;
import com.yzk18.net.HttpSender;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

import java.util.List;

public class SeleniumTest1 {
    public static void main(String[] args) throws InterruptedException {
        System.setProperty("webdriver.chrome.driver","C:\\Users\\PC\\Desktop\\Google\\Chrome\\Application/chromedriver.exe");
        ChromeDriver driver=new ChromeDriver();
        /*
        driver.get("https://image.baidu.com/");
        WebElement kw =driver.findElement(By.id("kw"));//findElement如果有多個(gè),就返回第一個(gè),如果都沒(méi)有就拋異常
        kw.sendKeys("白姨");
        WebElement s_newBtn=driver.findElement(By.className("s_newBtn"));
        s_newBtn.click();
        */
        driver.get("https://image.baidu.com/search/index?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fm=result&fr=&sf=1&fmq=1658837529512_R&pv=&ic=0&nc=1&z=&hd=&latest=&copyright=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&dyTabStr=&ie=utf-8&sid=&word=%E5%8E%9F%E7%A5%9E%E7%99%BD%E5%A7%A8");
        List<WebElement> imgs =driver.findElements(By.className("imgitem"));
        int i=1;//文件名計(jì)數(shù)
        for (WebElement img:imgs){
            String imgUrl=img.getAttribute("data-thumburl");
            System.out.println(imgUrl);
            String imgText=img.findElement(By.className("imgitem-title")).getText();
            imgText=imgText.replace("*","").replace("?","").replace("|","").replace("/","").replace("\\","");
//            保存圖片
            byte[] bytes=new HttpSender().sendGetBytes(imgUrl);
            IOHelpers.writeAllBytes("D:\\temp\\爬蟲\\圖片/1/"+imgText+i+".jpeg",bytes);
            i++;
        }
        Thread.sleep(5000);
        driver.close();
        driver.quit();
    }
}

?java selenium實(shí)現(xiàn)網(wǎng)頁(yè)操作,java,學(xué)習(xí),爬蟲,selenium

為什么只爬了幾張,這個(gè)涉及到了計(jì)算機(jī)的虛擬模式概念。?

獲取更多圖片?

頁(yè)面滾動(dòng),但是有虛模式的問(wèn)題需要處理。還有反反爬、代理、驗(yàn)證碼…………。爬蟲入門容易,如果精通則需要是優(yōu)秀的網(wǎng)站開(kāi)發(fā)者(前端+后端)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-645245.html

到了這里,關(guān)于Java學(xué)習(xí)筆記:爬蟲-操作動(dòng)態(tài)網(wǎng)頁(yè)的Selenium的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 2023爬蟲學(xué)習(xí)筆記 -- selenium反爬蟲操作(window.navigator.webdriver屬性值)

    2023爬蟲學(xué)習(xí)筆記 -- selenium反爬蟲操作(window.navigator.webdriver屬性值)

    一、無(wú)可視化瀏覽器操作 1、導(dǎo)入需要的函數(shù),固定寫法,并設(shè)置相關(guān)瀏覽器參數(shù) 2、請(qǐng)求的時(shí)候加上參數(shù)設(shè)置 3、通過(guò)截圖證明確實(shí)被打開(kāi)了 二、有些網(wǎng)站通過(guò)判斷window.navigator.webdriver屬性值來(lái)判斷是否有爬蟲行為 1、正常訪問(wèn)瀏覽器,該屬性值為false 2、通過(guò)webdriver訪問(wèn)瀏覽

    2024年02月08日
    瀏覽(28)
  • 如何使用 Python 爬蟲抓取動(dòng)態(tài)網(wǎng)頁(yè)數(shù)據(jù)

    隨著 Web 技術(shù)的不斷發(fā)展,越來(lái)越多的網(wǎng)站采用了動(dòng)態(tài)網(wǎng)頁(yè)技術(shù),這使得傳統(tǒng)的靜態(tài)網(wǎng)頁(yè)爬蟲變得無(wú)能為力。本文將介紹如何使用 Python 爬蟲抓取動(dòng)態(tài)網(wǎng)頁(yè)數(shù)據(jù),包括分析動(dòng)態(tài)網(wǎng)頁(yè)、模擬用戶行為、使用 Selenium 等技術(shù)。 在進(jìn)行動(dòng)態(tài)網(wǎng)頁(yè)爬取之前,我們需要先了解動(dòng)態(tài)網(wǎng)頁(yè)和靜

    2023年04月24日
    瀏覽(65)
  • Python爬蟲基礎(chǔ)(三):使用Selenium動(dòng)態(tài)加載網(wǎng)頁(yè)

    Python爬蟲基礎(chǔ)(三):使用Selenium動(dòng)態(tài)加載網(wǎng)頁(yè)

    Python爬蟲基礎(chǔ)(一):urllib庫(kù)的使用詳解 Python爬蟲基礎(chǔ)(二):使用xpath與jsonpath解析爬取的數(shù)據(jù) Python爬蟲基礎(chǔ)(三):使用Selenium動(dòng)態(tài)加載網(wǎng)頁(yè) Python爬蟲基礎(chǔ)(四):使用更方便的requests庫(kù) Python爬蟲基礎(chǔ)(五):使用scrapy框架 (1)Selenium是一個(gè)用于Web應(yīng)用程序測(cè)試的工具。

    2024年02月06日
    瀏覽(30)
  • Scrapy爬蟲框架集成Selenium來(lái)解析動(dòng)態(tài)網(wǎng)頁(yè)

    Scrapy爬蟲框架集成Selenium來(lái)解析動(dòng)態(tài)網(wǎng)頁(yè)

    當(dāng)前網(wǎng)站普遍采用了javascript 動(dòng)態(tài)頁(yè)面,特別是vue與react的普及,使用scrapy框架定位動(dòng)態(tài)網(wǎng)頁(yè)元素十分困難,而selenium是最流行的瀏覽器自動(dòng)化工具,可以模擬瀏覽器來(lái)操作網(wǎng)頁(yè),解析元素,執(zhí)行動(dòng)作,可以處理動(dòng)態(tài)網(wǎng)頁(yè),使用selenium處理1個(gè)大型網(wǎng)站,速度很慢,而且非常耗資

    2024年02月15日
    瀏覽(22)
  • python爬蟲實(shí)戰(zhàn) scrapy+selenium爬取動(dòng)態(tài)網(wǎng)頁(yè)

    python爬蟲實(shí)戰(zhàn) scrapy+selenium爬取動(dòng)態(tài)網(wǎng)頁(yè)

    最近學(xué)習(xí)了scrapy爬蟲框架,想要找個(gè)目標(biāo)練練手。由于現(xiàn)在很多網(wǎng)頁(yè)都是動(dòng)態(tài)的,因此還需要配合selenium爬取。本文旨在記錄這次學(xué)習(xí)經(jīng)歷,如有疑問(wèn)或不當(dāng)之處,可以在評(píng)論區(qū)指出,一起學(xué)習(xí)。 對(duì)scrapy不了解的同學(xué)可以閱讀這篇文章 爬蟲框架 Scrapy 詳解,對(duì)scrapy框架介紹的

    2024年02月07日
    瀏覽(51)
  • 小白用chatgpt編寫python 爬蟲程序代碼 抓取網(wǎng)頁(yè)數(shù)據(jù)(js動(dòng)態(tài)生成網(wǎng)頁(yè)元素)

    小白用chatgpt編寫python 爬蟲程序代碼 抓取網(wǎng)頁(yè)數(shù)據(jù)(js動(dòng)態(tài)生成網(wǎng)頁(yè)元素)

    jS動(dòng)態(tài)生成,由于呈現(xiàn)在網(wǎng)頁(yè)上的內(nèi)容是由JS生成而來(lái),我們能夠在瀏覽器上看得到,但是在HTML源碼中卻發(fā)現(xiàn)不了 ? ? ? ?如果不加,如果網(wǎng)站有防爬技術(shù),比如頻繁訪問(wèn),后面你會(huì)發(fā)現(xiàn)什么數(shù)據(jù)都取不到 User-Agent獲取地方: ?網(wǎng)頁(yè)獲取位置: 使用代理IP解決反爬。(免費(fèi)代理

    2024年02月01日
    瀏覽(31)
  • 【一個(gè)超簡(jiǎn)單的爬蟲demo】探索新浪網(wǎng):使用 Python 爬蟲獲取動(dòng)態(tài)網(wǎng)頁(yè)數(shù)據(jù)

    【一個(gè)超簡(jiǎn)單的爬蟲demo】探索新浪網(wǎng):使用 Python 爬蟲獲取動(dòng)態(tài)網(wǎng)頁(yè)數(shù)據(jù)

    可以實(shí)戰(zhàn)教爬蟲嗎,搭個(gè)環(huán)境嘗試爬進(jìn)去。嘗試收集一些數(shù)據(jù) 一位粉絲想了解爬蟲,我們今天從最基礎(chǔ)的開(kāi)始吧! 本文將介紹如何使用 Python 爬蟲技術(shù)爬取新浪網(wǎng)首頁(yè)的內(nèi)容。新浪網(wǎng)作為一個(gè)內(nèi)容豐富且更新頻繁的新聞網(wǎng)站,是理解動(dòng)態(tài)網(wǎng)頁(yè)爬取的絕佳例子。 首先,確保你

    2024年02月04日
    瀏覽(19)
  • Python網(wǎng)絡(luò)爬蟲逆向分析爬取動(dòng)態(tài)網(wǎng)頁(yè)、使用Selenium庫(kù)爬取動(dòng)態(tài)網(wǎng)頁(yè)、?編輯將數(shù)據(jù)存儲(chǔ)入MongoDB數(shù)據(jù)庫(kù)

    Python網(wǎng)絡(luò)爬蟲逆向分析爬取動(dòng)態(tài)網(wǎng)頁(yè)、使用Selenium庫(kù)爬取動(dòng)態(tài)網(wǎng)頁(yè)、?編輯將數(shù)據(jù)存儲(chǔ)入MongoDB數(shù)據(jù)庫(kù)

    目錄 逆向分析爬取動(dòng)態(tài)網(wǎng)頁(yè) 了解靜態(tài)網(wǎng)頁(yè)和動(dòng)態(tài)網(wǎng)頁(yè)區(qū)別 1.判斷靜態(tài)網(wǎng)頁(yè) ?2.判斷動(dòng)態(tài)網(wǎng)頁(yè) ?逆向分析爬取動(dòng)態(tài)網(wǎng)頁(yè) 使用Selenium庫(kù)爬取動(dòng)態(tài)網(wǎng)頁(yè) 安裝Selenium庫(kù)以及下載瀏覽器補(bǔ)丁 頁(yè)面等待 ?頁(yè)面操作 1.填充表單 2.執(zhí)行JavaScript 元素選取 Selenium庫(kù)的find_element的語(yǔ)法使用格式如下

    2024年02月15日
    瀏覽(65)
  • 【Java學(xué)習(xí)筆記】 動(dòng)態(tài)代理

    【Java學(xué)習(xí)筆記】 動(dòng)態(tài)代理

    1、什么是動(dòng)態(tài)代理? 前面已經(jīng)提到了,動(dòng)態(tài)代理就是【在內(nèi)存】中動(dòng)態(tài)生成【字節(jié)碼代理類】的技術(shù)。(雖然不需要開(kāi)發(fā)者書寫,但是在內(nèi)存層面依然存在該代理對(duì)象】 優(yōu)點(diǎn) : 減少了代理類的數(shù)量 并且解決了代碼復(fù)用的問(wèn)題。 動(dòng)態(tài)代理常見(jiàn)的實(shí)現(xiàn)技術(shù)包括以下三種 JDK內(nèi)

    2024年02月04日
    瀏覽(41)
  • 爬蟲:使用Selenium模擬人工操作及獲取網(wǎng)頁(yè)內(nèi)容

    結(jié)合自身經(jīng)驗(yàn)和內(nèi)部資料總結(jié)的Python教程,每天3-5章,最短1個(gè)月就能全方位的完成Python的學(xué)習(xí)并進(jìn)行實(shí)戰(zhàn)開(kāi)發(fā),學(xué)完了定能成為大佬!加油吧!卷起來(lái)! 全部文章請(qǐng)?jiān)L問(wèn)專欄:《Python全棧教程(0基礎(chǔ))》 再推薦一下最近熱更的:《大廠測(cè)試高頻面試題詳解》 該專欄對(duì)近年

    2024年02月13日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包