c 抓取网页数据(就是Java爬虫--爬取页面图片的内容持续更新中)

优采云 发布时间: 2021-12-27 16:15

  c 抓取网页数据(就是Java爬虫--爬取页面图片的内容持续更新中)

  一、基本介绍:Crawler-也叫webchaser,广泛用于数据的采集

和分析,我们可以用它来获取页面上的指定资源(如:图片、标题、某些指定数据等)。 )。

  二、相关知识:使用爬虫需要掌握以下知识:页面元素分析能力、http网络请求知识、正则表达式...(这些知识在以后的文章中也会详细介绍。)

  三、先贴出代码,如下:

  public class Crawler {

public static void main(String[] args) throws MalformedURLException, IOException {

String url = "http://588ku.com/?h=bd&sem=1";

List arrL = new ArrayList();

URLConnection uc = new URL(url).openConnection();

uc.setConnectTimeout(10000);

uc.setDoOutput(true);

InputStream in = new BufferedInputStream(uc.getInputStream());

Reader rd = new InputStreamReader(in);

int c = 0;

StringBuffer temp = new StringBuffer();

while ((c = rd.read()) != -1) {

temp.append((char) c);

}

in.close();

String strHtml = temp.toString();

// System.out.println(strHtml);

Pattern p = Pattern.compile("]*\\bsrc\\b\\s*=\\s*('|\")?([^'\"\n\r\f>]+(\\.jpg|\\.bmp|\\.eps|\\.gif|\\.mif|\\.miff|\\.png|\\.tif|\\.tiff|\\.svg|\\.wmf|\\.jpe|\\.jpeg|\\.dib|\\.ico|\\.tga|\\.cut|\\.pic)\\b)[^>]*>", Pattern.CASE_INSENSITIVE);

Matcher m = p.matcher(strHtml );

String quote,src = "";

while (m.find()) {

quote = m.group(1);

src = (quote == null || quote.trim().length() == 0) ? m.group(2).split("\\s+")[0] : m.group(2);

arrL.add(src);

}

for (Object sstr : arrL) {

System.out.println(sstr);

}

}

}

  四、代码分析部分

  ①首先我们设置一个固定的url地址,然后使用URLConnection创建并打开链接。②下面是抓取网页元素并进行过滤。这里我们使用字节流将页面元素读入创建的字符变量中(使用后一定要记得关闭)。③下面是正则表达式的一些操作,这里是图片的适配规则(正则表达式是一个很重要的知识点,千万不能忽视!)。④ 输出过滤后的数据,这里使用一个列表集合进行存储,下面的for循环是输出部分。

  五、运行结果如下:

  

  输出接口

  PS:这只是一个简单的例子。其实我们可以用爬虫来做很多操作。以后我们也会修改这部分代码,输出保存为图片,请继续关注!

  五、 以上是Java爬虫抓取页面图片的内容,请订阅关注,持续更新。纯手工打架,如有不当,敬请指正。也希望在对大家有影响的同时多多关注交流!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线