天猫阿里旗下一个优秀的购物平台,很多刚开始接触电商的朋友都一天猫为变准,用心打造自己的商品宝贝,天猫上面很多商家的精美图片也是我们用以效仿的好范本。今天我就用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