JAVA爬虫——关键字爬取百度图片
JAVA爬虫——关键字爬取百度图片
1. 准备工作
首先需要准备以下工具:
1. JDK 1.8+
2. IDE(如Eclipse、IntelliJ IDEA等)
3. Selenium WebDriver
4. Apache HttpClient
5. Jsoup
2. 导入依赖
在项目的pom.xml文件中导入以下依赖:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.13.1</version>
</dependency>
**3. 获取百度图片搜索结果页面的HTML**
首先我们需要获取百度图片搜索结果页面的HTML。我们可以使用Selenium WebDriver来实现。
WebDriver driver = new FirefoxDriver(); driver.get("https://image.baidu.com/search/index?tn=baiduimage&word=" + keyword);
**4. 解析HTML并提取图片URL**
接下来我们需要解析HTML并提取图片URL。我们可以使用Jsoup来实现。
Document doc = Jsoup.parse(driver.getPageSource()); Elements elements = doc.select("img[src]");
**5. 下载图片**
最后我们需要下载图片。我们可以使用Apache HttpClient来实现。
HttpClient client = new DefaultHttpClient(); for (Element element : elements) { String url = element.attr("src"); HttpGet get = new HttpGet(url); HttpResponse response = client.execute(get); HttpEntity entity = response.getEntity(); InputStream inputStream = entity.getContent(); OutputStream outputStream = new FileOutputStream("image/" + UUID.randomUUID() + ".jpg"); IOUtils.copy(inputStream, outputStream); inputStream.close(); outputStream.close(); }
**6. 运行程序**
现在我们可以运行程序了。
mvn clean package java -jar target/java-crawler-1.0-SNAPSHOT.jar
作者:小龙人
链接:https://www.xuexizoo.com/article/1759808063168069895.html
文章版权归作者所有,未经允许请勿转载。如有侵权,请发邮件联系管理员进行处理,邮箱地址:121671486@qq.com