首页 > 其他分享 >如何使用HtmlUnit库采集天猫图片

如何使用HtmlUnit库采集天猫图片

时间:2023-11-03 17:04:05浏览次数:38  
标签:java HtmlUnit URL 采集 天猫 WebClient import webClient String

如何使用HtmlUnit库采集天猫图片_Image

天猫阿里旗下一个优秀的购物平台,很多刚开始接触电商的朋友都一天猫为变准,用心打造自己的商品宝贝,天猫上面很多商家的精美图片也是我们用以效仿的好范本。今天我就用HtmlUnit库写一个用于采集天猫商品图片的爬虫,希望能对刚刚接触电商的朋友有所帮助。

```java
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.WebPage;
import com.gargoylesoftware.htmlunit.html.Image;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.List;
public class Crawler {
public static void main(String[] args) {
String targetUrl = "https://www.tmall.com/";
String proxyHost = "https://www.duoip.cn/get_proxy";
int proxyPort = 8000;
WebClient webClient = new WebClient();
webClient.setProxyHost(proxyHost);
webClient.setProxyPort(proxyPort);
try {
webClient.connect(targetUrl);
WebPage webPage = webClient.getPage(targetUrl);
List images = webPage.getImages();
for (Image image : images) {
URL imageUrl = image.getUrl();
String imageUrlStr = imageUrl.toString();
if (StringUtils.startsWith(imageUrlStr, "https")) {
String filename = imageUrlStr.substring(imageUrlStr.lastIndexOf("/") + 1);
File file = new File("images/" + filename);
FileUtils.copyURLToFile(imageUrl, file);
System.out.println("Downloaded image: " + filename);
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
webClient.close();
}
}
}
```

这个程序首先会创建一个WebClient对象,并设置代理主机和端口。然后,它连接到目标URL并获取页面。然后,它获取页面上的所有图像,并获取图像URL,然后检查URL是否以"https"开头。如果是,它创建一个文件名,将文件下载到当前目录,并打印下载的文件名。最后,关闭WebClient对象。需要注意的是,我写的这个程序需要在有网络连接的环境下运行,并且需要安装HtmlUnit库和Apache Commons IO库。此外,这个程序只能下载以"https"开头的图像。如果需要下载以其他URL协议开头的图像,还需要自行修改代码。

标签:java,HtmlUnit,URL,采集,天猫,WebClient,import,webClient,String
From: https://blog.51cto.com/u_14448891/8172874

相关文章

  • 利用HtmlAgilityPack库采集美图秀秀图片
    上次有个美女跟我说美图秀秀官网的图片都好漂亮,既然美女都开口了,我能说什么呢?于是,我就用HtmlAgilityPack库写了一个C#爬虫程序,专门来采集美图秀秀的图片,看着网站挺复杂,不过这个爬虫写起来倒是一点也不难,这就给大家分享。```csharpusingSystem;usingSystem.Net;usingHtmlAgili......
  • 如何使用Poco库采集阿里云信息
    阿里云是一个云主机平台,我们在购买云主机的时候,往往会因为挑选自己心意的产品而眼花缭乱。今天我就使用Poco库编写一个采集阿里云信息的程序,有了它,我们在挑选阿里云产品你轻松了许多,一起来看看吧。```cpp//引入Poco库#include<Poco/Net/HTTPClientSession.h>#include<Po......
  • 振弦采集读数模块如何连接设备
    振弦采集读数模块如何连接设备振弦采集读数模块是一种可以用来监测物体振动情况的设备,可以应用在机器运转状态监测、结构健康监测、地震测量等领域。它主要通过传感器对物体的振动进行监测,并将监测到的数据输出到计算机或其他设备上,以便进行分析和判断。 要使用振弦采集读数......
  • AirSim 自动驾驶仿真 (6) 设置采集参数和属性
    https://cloud.tencent.com/developer/article/20113841.配置文件在哪默认情况下,文件位于用户目录下的AirSim文件夹,比如在Windows下,文件位于C:\Users\admin\Documents\AirSim,如下。C:\Users\dongdong\Documents\AirSim  2.配置文件长什么样打开配置文件可以看到,这是一......
  • 通过tide库如何使用Rust语言采集汽车之家
    身边许多有车的朋友,在日常用车养车过程中,经常会碰到这样那样的问题,很多人都喜欢去汽车之家寻求帮助。那么今天,我将为大家带来的是使用tide库来编写的一个爬虫程序,并使用Rust语言来采集汽车之家的相关内容,不是特别难,有需要的朋友可以看看学习一下喔。```rustusetide::{Request,Re......
  • Go语言和net库结合,轻松搞定喜马拉雅视频采集
    昨天一个小哥问我,能不能用Go语言和net库编写一个采集喜马拉雅视频的采集程序,因为网站上有太多他需要的学习资源,所以来找我帮忙。我大概看了下网站策略,这个爬虫写起来不是特别难,现在就给大家简单分享一下。```gopackagemainimport("fmt""io/ioutil""net/http""net/url""str......
  • 如何通过HWebkit库配合Haskell语言采集链家图片
    链家是一个专业提供二手房源、楼盘等信息的网站,需要二手房的朋友,链家可是个首选的资源平台。今天我们将使用HWebkit库编写一个爬虫程序,然后使用Haskell语言来采集链家平台的相关图片,快来学习一下吧。```haskellimportNetwork.HTTP.Webkit--定义代理主机和端口proxyHost::Str......
  • 简单使用C语言通过Microhttpd库采集淘宝
    前段时间给大家分享过不少采集淘宝相关内容的方法,昨天有个朋友让我来帮他用C语言编写一个采集淘宝的爬虫程序,并且还要通过Microhttpd库来实现。这一点都难不倒我,下面我就将我的代码示例给大家分享一下,有需要的朋友赶紧来取。```c#include#include#include#include#defineHTTP......
  • 怎样使用Go语言+NET库搞定饿了么采集
    饿了么是一个集在线外卖、新零售、即时配送和餐饮供应链等业务的一个平台,也是我们日常中使用比较多的一个平台。每次点外卖的时候,那么多的商家,我们要比对价格、看评价,看看到底怎么点餐比较划算,这是一个Go语言的爬虫程序,所以今天,我就使用net库来实现对饿了么内容的采集,方便我们每次......
  • 如何使用Haskell语言和tagsoup库相结合采集同花顺财经相关视频
    今天要给大家带来的是一个使用Haskell语言和tagsoup库相结合的爬虫程序,主要是用来采集同花顺财经上的相关视频。前段时间一个粉丝跟我要了好久,由于太忙了,一直拖到现在。正好给大家分享一下,一起学习交流。```haskellimportNetwork.HTTPimportText.HTML.TagSoup--定义一......