上一篇:Java網絡爬蟲實操(6)git
你們好,咱們日常瀏覽網頁常常會看到這樣的效果:鼠標滾動到差很少底部的時候,纔會加載新內容出來。而後一直滾就一直加載,好比外賣平臺上的評價信息、社交平臺上的跟貼等等。github
本篇文章介紹如何用seleinum技術模擬人對瀏覽器的操做chrome
Main類npm
package com.cv4j.netdiscovery.example;
import com.cv4j.netdiscovery.core.Spider;
import com.cv4j.netdiscovery.selenium.Browser;
import com.cv4j.netdiscovery.selenium.downloader.SeleniumDownloader;
import org.openqa.selenium.WebDriver;
public class TestSelenium {
public static void main(String[] args) {
//設置瀏覽器的驅動程序
WebDriver driver = Browser.Chrome.init("example/chromedriver.exe");
//建立downloader類和action
ScrollAction scrollAction = new ScrollAction();
SeleniumDownloader seleniumDownloader = new SeleniumDownloader(driver, scrollAction);
//設置並啓動爬蟲
Spider.create()
.name("testseleinum")
.url("https://www.ele.me/shop/1919756/rate")
.downloader(seleniumDownloader)
.run();
}
}
複製代碼
SeleniumAction類瀏覽器
package com.cv4j.netdiscovery.example;
import com.cv4j.netdiscovery.selenium.SeleniumAction;
import com.cv4j.netdiscovery.selenium.Utils;
import org.openqa.selenium.WebDriver;
public class ScrollAction implements SeleniumAction {
@Override
public void execute(WebDriver driver) {
try {
//最大化
driver.manage().window().maximize();
//停頓2秒
Thread.sleep(2000);
//往下滾動200px
Utils.scroll(driver, 200);
//對當前網頁截屏
Utils.taskScreenShot(driver, "D:\\work\\test.png");
} catch(InterruptedException e) {
}
}
}
複製代碼
執行結果 bash
seleinum本質上是一種自動化測試工具,在爬蟲技術中主要用來模擬人對瀏覽器的操做,理論上人經過鼠標鍵盤操做的全部過程,均可以用程序代碼模擬出來,而後獲取咱們想要的網頁數據。網絡
試用下來發現NetDiscovery框架對seleinum操做的支持還比較簡單,我會繼續關注。框架
下一篇:Java網絡爬蟲實操(8)ide