这个程序用到的UrlResource类在这里可以找到
http://blog.csdn.net/laizhenhai88/article/details/7430844
虽然路人写真里面的图片ps的比较厉害,不过无聊的我还是写了个很烂的程序来下载。
思路很简单,程序通用性差。先从一个网页中检索出第一期到第五十期的链接地址,然后从每一期中检索出第1页到最后一页。然后依次下载图片,保存到D:\luren2文件夹中。
没什么参考价值的程序,不过可以用来下载美女图片,哈哈。
操作步骤:
1、确保D:\luren2这个文件夹
2、运行程序,这样图片就被保存到文件夹中了。大概3000张
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Luren {
public static void main(String[] args) {
try {
//先找一个链接,下载第一期到第五十期的地址列表
String detail = UrlResource.getUrlDetail(
"http://www.luren.cc/new_list/20120404/8056185.shtml",
false);
Pattern reg = Pattern.compile("<a target=\"_blank\" href=\"([^\"]+)\">");
Matcher matcher = reg.matcher(detail);
int i=0;
ArrayList<String> links = new ArrayList<String>();
ArrayList<String> links2 = new ArrayList<String>();
while (matcher.find()) {
String q = matcher.group(1);
if (q.indexOf("new_list") != -1)
{
links.add(q);
i++;
}
}
//判重
for (String s : links.toArray(new String[0]))
{
if (!links2.contains(s))
{
links2.add(s);
// System.out.println(s);
}
}
// System.out.println(links2.size());
String base = null;
int imgnum = 1;
int oldnum = 1;
for(String url : links2)
{
// String url = "http://www.luren.cc/new_list/20120217/46343.shtml";
base = url.substring(0, url.lastIndexOf("/")) + "/";
String d = UrlResource.getUrlDetail(url, true);
// System.out.println(d);
Matcher m3 = Pattern.compile("<p style=\"text-align: center.?\"><a [^h]*href=\"[^\"]+\"><img [^s]*src=\"([^\"]+)\"").matcher(d);
while (m3.find())
{
String imageurl = m3.group(1);
String hz = imageurl.substring(imageurl.lastIndexOf("."));
UrlResource.saveUrlFile(imageurl, "D:\\luren2\\" + imgnum+hz);
imgnum ++;
}
// System.out.println(d);
//获取第一页到最后一页的地址
String dm = d.substring(d.indexOf("上一页</a>"), d.indexOf("下一页</a>") -3);
// System.out.println(dm);
Pattern reg2 = Pattern.compile("<a href=\"([^\"]+)\">");
Matcher matcher2 = reg2.matcher(dm);
while(matcher2.find())
{
String d2 = UrlResource.getUrlDetail(base +matcher2.group(1), true);
Matcher m33 = Pattern.compile("<p style=\"text-align: center.?\"><a [^h]*href=\"[^\"]+\"><img [^s]*src=\"([^\"]+)\"").matcher(d2);
while (m33.find())
{
String imageurl = m33.group(1);
String hz = imageurl.substring(imageurl.lastIndexOf("."));
UrlResource.saveUrlFile(imageurl, "D:\\luren2\\" + imgnum+hz);
imgnum ++;
}
}
System.out.println(imgnum - oldnum +1);
if (imgnum - oldnum +1 < 30)
{
System.out.println(url);
}
oldnum = imgnum;
}
// System.out.println(imgnum);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}