java-selenium下载百度图片
package download; import java.io.DataInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List; import org.apache.commons.io.input.ReaderInputStream;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver; public class Geturl { public static List<String> geturls(String baseUrl){
List<String> urllist=new ArrayList<String>();
System.setProperty("webdriver.chrome.driver", "E:\\\\webDriver\\\\chromedriverV2.28.exe"); WebDriver driver = new ChromeDriver();
driver.get(baseUrl); //获取所有img标签
List<WebElement> imgList = driver.findElements(By.tagName("img"));
System.out.println(imgList.size()); try {
Thread.sleep(10000);
} catch (Exception e) {
e.printStackTrace();
}
//便利所有标签
try {
for (WebElement a : imgList) {
//System.out.println(a.getText());
System.out.println(a.getAttribute("src"));//获取img标签中的data-imgurl data-imgurl //获取img标签data-imgurl属性值
String urlStr = a.getAttribute("src");
/*if(urlStr.contains(".jpg")) {
urllist.add(urlStr);
}*/ }
} catch (Exception e) {
e.printStackTrace();
} return urllist; } public static void downloadImg(List<String> urllist) throws Exception{
URL url=null;
int imageNumber = 0;
for(String urlString:urllist) {
url = new URL(urlString);
DataInputStream dis = new DataInputStream(url.openStream());
String imageName ="C:\\Users\\0\\Pictures\\插画\\photos"+ imageNumber +".jpg";
FileOutputStream fos =new FileOutputStream(new File(imageName)); byte[] buffer = new byte[1024];
int length;
while((length = dis.read(buffer))>0) {
fos.write(buffer, 0, length);
}
dis.close();
fos.close();
imageNumber++;
}
} public static void main(String[] args) { List<String> urllist=geturls("https://image.baidu.com/search/index?tn=baiduimage&ct=201326592&lm=-1&cl=2&ie=gbk&word=%B2%E5%BB%AD&fr=ala&ala=1&alatpl=adress&pos=0&hs=2&xthttps=111111");
System.out.println(urllist.size()); try {
downloadImg(urllist);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
}
java-selenium下载百度图片的更多相关文章
- python根据搜索词下载百度图片
# coding=utf-8 """根据搜索词下载百度图片""" import re import urllib import os def ...
- java实现批量下载百度图片搜索到的图片
就是写的个小程序,用于记录一下,方便后续查看,首先感谢下面这个博客,从这篇文章衍生的吧,大家可以学习下: http://www.cnblogs.com/lichenwei/p/4610298.html ...
- Java爬取 百度图片Google图片Bing图片
先看看抓取的结果. 8个Java类: Startup.java - main函数 ImageCrawler.java - Crawler基类 BaiduImageCrawler.java - 百度图片 ...
- selenium实现百度图片爬取
因为是百度图片是瀑布流ajax异步上传的数据,所以这里用到抓包工具来抓取链接(fiddler) 好了直接上代码, from selenium import webdriver from seleniu ...
- 用 Python 批量下载百度图片
为了做一个图像分类的小项目,需要制作自己的数据集.要想制作数据集,就得从网上下载大量的图片,再统一处理. 这时,一张张的保存下载,就显得很繁琐.那么,有没有一种方法可以把搜索到的图片直接下载到本地 ...
- selenium 下载百度音乐并验证
package baidu; import java.io.File; import java.io.IOException; import java.util.List; import org.ap ...
- Qt+Python开发百度图片下载器
一.资源下载地址 https://www.aliyundrive.com/s/jBU2wBS8poH 本项目路径:项目->收费->百度图片下载器(可试用5分钟) 安装包直接下载地址:htt ...
- selenium爬取百度图片
一:简介 通过selenium模块,模拟火狐浏览器进行搜索下载操作. 二:脚本内容 # -*- coding:utf-8 -*- # 百度图片自动爬去 # Chrome浏览器类似,设置其options ...
- selenium+chrome浏览器驱动-爬取百度图片
百度图片网页中中,当页面滚动到底部,页面会加载新的内容. 我们通过selenium和谷歌浏览器驱动,执行js,是浏览器不断加载页面,通过抓取页面的图片路径来下载图片. from selenium im ...
随机推荐
- Android API Guides---Drag and Drop
Drag and Drop 随着Android拖/放框架,能够同意用户将数据从一个视图使用图形拖动移动到还有一个查看当前布局和下降的手势. 该框架包含一个拖放事件类,拖累听众和辅助方法和类. 尽管该框 ...
- su 和 su -
单纯使用su切揣到root,读取变量的方式 是non-login shell,这种方式下很多的变量都 不会改变,尤其是PATH,所以root用的很多命令都只能用绝对路径来执行,这种方式只是切换到roo ...
- adb -s
当已经有多个设备连接到主机时,可以使用-s参数进行选择. 设备为adb devices列出的内容. 除此之外,-d表示只通过USB连接,-e表示只连接仿真器.
- (原创)C++11改进我们的程序之简化我们的程序(六)
这次要讲的内容是:c++11中的lamda表达式. lamda表达式是我最喜欢的一个c++11特性之一,在我的代码中随处可见它的身影,其实在c#3.5中就引入了lamda,java中至今还没引入,要等 ...
- 每日英语:The Benefits of a Better Men's T-Shirt
"I WEAR A T-shirt and jeans every single day," said Erik Schnakenberg, 30, co-founder of t ...
- Implementation Notes: Runtime Environment Map Filtering for Image Based Lighting
https://placeholderart.wordpress.com/2015/07/28/implementation-notes-runtime-environment-map-filteri ...
- 【转】Android项目使用Ant打包,生成build.xml
记不住,于是原帖转过来,请看原帖:http://blog.csdn.net/ms03001620/article/details/8490238 一.生成build.xml Eclipse中使用Ant ...
- vue 的事件冒泡
一.事件冒泡 方法一.使用event.cancelBubble = true来组织冒泡 <div @click="show2()"> <input type=&q ...
- spring boot guava cache 缓存学习
http://blog.csdn.net/hy245120020/article/details/78065676 ****************************************** ...
- 04-老马jQuery教程-DOM节点操作及位置和大小
1. jQuery创建DOM标签 1.1 DOM动态创建标签的方法 DOM时代我们通过document的createElement方法动态创建标签.创建标签后,动态的给他添加属性.例如代码: // 动 ...