java 基于selenium实现爬取天气网数据

感觉java做爬虫效果也是还不错的,我总结了下主要有以下三种:

(一)基于jsoup

(二)基于httpcilent

(三)基于selenium

第一种和第二种类似,没多大难度,用法也很相似,但是经我亲自测试有个缺点:不能采集基于ajax请求的数据。这个就很令人蛋疼了。。。

第三种方法实际是基于浏览器的驱动模拟人工操作的,理论上可以采集网页的任何数据。不便之处就是每次需要打开一个浏览器不过也能接受。

今天主要就说说基于selenium实现爬取数据吧!!

第一步:pom.xml引入

org.seleniumhq.selenium selenium-java 3.141.59
    
    
        com.codeborne
        phantomjsdriver
        1.4.4
    

第二步:

WebDriver driver = PageUtils.getChromeDriver(“http://www.weather.com.cn/alarm/newalarmlist.shtml”);
PageUtils.selectStrByJS(driver, “pro”);
WebElement submitElement = driver.findElement(By.cssSelector(“input#Submit”));
PageUtils.scrollToElementAndClick(submitElement, driver);
Thread.sleep(3000);
List liElements = driver.findElements(By.cssSelector(".dDUl li"));
//统计当天的采集数量
Integer sumNum=0;
for (int i=0;i //发布时间
String text = liElements.get(i).getText();
//返回标题
String title = getTitle(text);
//返回地区
String area = getArea(text);
log.warn(area);
//获取风险等级
String risk = getRisk(title);
——————————————————————————————————————————————————————————————————————————————————
后面可以根据自己的业务情况对采集的数据进行处理!!!!
}
PageUtis里面的工具法法:

/**
* 打开谷歌浏览器,返回一个WebDriver,对浏览器的操作通过webDriver来执行
*
* @param url
* @return
*/
public static WebDriver getChromeDriver(String url) {

    //设置谷歌浏览器驱动,我放在项目的路径下,这个驱动可以帮你打开本地的谷歌浏览器
    System.setProperty("webdriver.chrome.driver", "chromedriver.exe");


    // 设置对谷歌浏览器的初始配置           开始
    HashMap prefs = new HashMap();
    //设置禁止图片
    //prefs.put("profile.managed_default_content_settings.images", 2);
    //设置禁止cookies
    //prefs.put("profile.default_content_settings.cookies", 2);
    ChromeOptions options = new ChromeOptions();
    options.setExperimentalOption("prefs", prefs);
    DesiredCapabilities chromeCaps = DesiredCapabilities.chrome();
    chromeCaps.setCapability(ChromeOptions.CAPABILITY, options);
    // 设置对谷歌浏览器的初始配置           结束

    //新建一个谷歌浏览器对象(driver)
    WebDriver driver = new ChromeDriver(chromeCaps);

    //通过driver控制浏览器打开链接(url)
    driver.get(url);
    return driver;
}

第三步:把浏览器驱动.exe放在项目根目录在此我上传到网盘,自行下载即可

https://xiwen.lanzoui.com/i6A5wgwmcyb

原文:http://www.xiwenblog.com/archives/2351

你可能感兴趣的:(java爬虫)