Selenium不打开浏览器采爬取数据 Java
优采云 发布时间: 2020-08-14 07:41Selenium
Selenium工具,是数据采集利器,尤其是对js的操作。相对于jsoup、httpclient工具,其最大的不同就是通过操作浏览器的方法获取数据,类似于用户点击,移动滑鼠等。比如,说近来想开发采集Quora()的小软件,发现这个网页都是js操作,数据查看,使用的键盘滚动的方法,类似的网站还有国外的网易新闻等()。针对那些网站,其最好的方法是使用Selenium调用浏览器采集。
关于Selenium的安装,博主已在这篇博客中介绍了。
java使用Selenium
Selenium可以直接打开火狐浏览器、谷歌浏览器以及IE浏览器,进而获取页面的内容,同时也可以进行表单操作等,关于java使用Selenium调出浏览器的案例程序,读者可参考我之前的博客()。
这里主要介绍在不打开浏览器 GUI的情况在浏览器中执行我们的Selenium脚本。在这里,以傲游为案例,我的版本为56.0(64位)。以下为案例程序:
FirefoxBinary firefoxBinary = new FirefoxBinary();
firefoxBinary.addCommandLineOptions("--headless");
System.setProperty("webdriver.gecko.driver", "chrome\\geckodriver.exe");
FirefoxOptions firefoxOptions = new FirefoxOptions();
firefoxOptions.setBinary(firefoxBinary);
FirefoxDriver driver = new FirefoxDriver(firefoxOptions);
driver.get("http://www.baidu.com");
String title = driver.getTitle();
System.out.println(title);
driver.quit();
程序的运行结果如下: