一. 以下是实现selenium获取图片资源的步骤+代码
** //1.定义图片下载的路径集合**
** private static List<String> paths=new ArrayList<>();
//2.定义图片下载网址**
private static final String PATH="https://www.139ys.com/";
//3.下载图片保存到指定路径
private static final String DIR="D:\img\";
//4.写一个获取图片类
private static void getImg(){ //设置驱动 System.setProperty("webdriver.chrome.driver","D:\\chromedriver.exe"); //创建驱动 WebDriver driver=new ChromeDriver(); //与将要爬取的网站建立连接 driver.get(PATH); sleep(3); //获取图片资源 List<WebElement> elements = driver.findElements(By.xpath("/html/body/div[2]/div/div[1]/div/div[2]/ul/li")); //循环遍历获取图片下载路径 for (WebElement eles:elements) { WebElement a = eles.findElement(By.tagName("a")); paths.add( a.getAttribute("data-original")); } //关闭释放资源 driver.close(); driver.quit(); }
//5.写一个保存图片的类
private static void saveImg(String path){ try { URL url=new URL(path); // 定义图片名称 String img=System.currentTimeMillis()+".jpg"; //定义·输入流 InputStream is=new DataInputStream(url.openStream()); //定义输出流 OutputStream out=new FileOutputStream(new File(DIR+img)); // 定义每次读取长度 int len=0; byte[] size=new byte[1024]; //循环读写流 while((len=is.read(size))!=-1){ out.write(size,0,len); } //关闭 is.close(); out.close(); } catch (Exception e) { e.printStackTrace(); } }
//根据需要可以写一个sleep睡眠时间方法
//获取数据时设置休眠时间 public static void sleep(int s){ try { Thread.sleep(s*1000L); } catch (InterruptedException e) { e.printStackTrace(); } }
//最后调用方法,执行、
public static void main(String[] args) { getImg(); for (String str:paths){ System.out.println(str); saveImg(str); } }
这样就可以获取图片了
版权归原作者 对太阳心动 所有, 如有侵权,请联系我们删除。