前言
上一篇博客谈到如何使用python的selenium做微博爬虫, 不过该程序只适用于ubuntu系统。本来想在window也用同样的方法做爬虫,结果一个下午都尝试失败,系统总是报“window error”, 估计是python的selenium真的不兼容windows。后来改变了一下思路, 换成了Java的selenium爬虫。结果发现, java的selenium其实也不太复杂。这份博客主要就是讲述我在使用java的selenium爬虫啦
Java的selenium爬虫
selenium的jar包
selenium包主要有三个,分别是:
selenium-server-standalone-2.40.0.jar
selenium-java-2.40.0-srcs.jar
selenium-java-2.40.0.jar
下载后导入到项目即可
PS:这里的话按照我的经验,导包不同的编程软件是不一样的,这里将会给出Eclipse还有NetBeans的导包小步骤:【此处参考百度经验】
1.Eclipse
(1)首先在项目下创建一个文件夹,保存我们的jar包。
在项目名上右击,依次点击【New】–>【Floder】,打开新建文件夹窗口
(2)输入文件夹名称【lib】,点击【ok】。我们通常在lib文件夹中存放从外部引入的jar包
(3)找到我们要引入的jar包,鼠标选中jar包,然后按住鼠标左键不放,把jar包拖到lib文件夹中。或先复制jar包,然后在lib文件夹上右击,选择复制。此时,打开选择框,我们选择默认的【copy files】,点击【OK】关闭。然后我们就可以在lib文件夹下看到我们复制成功的jar包。
(4)此时,只是把jar包复制到项目中,还不能使用。我们再在项目名上右击,依次选择:
【Build Path】–>【Configure Build Path…】
(5)在打开的窗口中,先选中【Libraries】页,再从右边的按钮中点击
【add JARs…】
(6)在打开的窗口中,我们依次展开本项目的项目和lib文件夹,然后选中我们刚才复制到项目中的jar包,然后点击【OK】关闭窗口
(7)此时,我们在刚才打开的【Libraries】页中可以看到我们引入的jar包的名称。点击【OK】确认就搞定了!
2.NetBeans
NetBeans的话比Eclipse要相对简单一点:
(1)首先我们需要创建个新项目,打开新建的项目->右击“库”->点击“添加JAR/文件夹”。
(2)选择你所添加jar的文件夹,点击你要添入的jar->再点击”打开”即可。
chromeDriver
chromeDriver是chrome的驱动程序,是一个exe可执行文件.其目的就是驱动谷歌浏览器.当然,selenium不止支持谷歌浏览器, 还可以支持firefox, IE等等,其对应不同的驱动器.
chrommeDirver的下载地址:https://pan.baidu.com/s/1dEKzQUX
下载好了之后, 放到一个特定的目录里面,以便访问
PS:这里的话可以将文件夹放至\Windows\System32\中就不用去设置路径了
代码演示
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package javaapplication1;
import java.io.File;
import java.io.IOException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriverService;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
/**
*
* @author C507
*/
public class JavaApplication1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws InterruptedException, IOException {
// TODO code application logic here
// WebDriver dr = new FirefoxDriver();
File file = new File("C:\\Windows\\System32\\ChromeDriver\\chromedriver.exe"); //chromediriver的指定目录
ChromeDriverService service = new ChromeDriverService.Builder().usingDriverExecutable(file).usingAnyFreePort().build();
service.start();
WebDriver dr = new RemoteWebDriver(service.getUrl(),DesiredCapabilities.chrome());
dr.get("http://www.baidu.com"); //打开首页
System.out.println(dr.getPageSource());
Thread.sleep(3000);
}
}