博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java抓取网页内容
阅读量:6074 次
发布时间:2019-06-20

本文共 2819 字,大约阅读时间需要 9 分钟。

直接上代码

import java.io.BufferedReader;    import java.io.IOException;    import java.io.InputStreamReader;    import java.net.MalformedURLException;    import java.net.URL;    import java.util.ArrayList;    import java.util.HashMap;    import java.util.List;    import java.util.regex.Matcher;    import java.util.regex.Pattern;        public class TestHtml {     /**      * 读取一个网页全部内容      */     public String getOneHtml(final String htmlurl) throws IOException     {      URL url;      String temp;      final StringBuffer sb = new StringBuffer();      try      {       url = new URL(htmlurl);       final BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(), "gbk"));// 读取网页全部内容       while ((temp = in.readLine()) != null)       {        sb.append(temp);       }       in.close();      }      catch (final MalformedURLException me)      {       System.out.println("你输入的URL格式有问题!请仔细输入");       me.getMessage();       throw me;      }      catch (final IOException e)      {       e.printStackTrace();       throw e;      }      return sb.toString();     }     /**      *       * @param s      * @return 获得网页标题      */     public String getTitle(final String s)     {      String regex;      String title = "";      final List
list = new ArrayList
(); regex = "
.*?"; final Pattern pa = Pattern.compile(regex, Pattern.CANON_EQ); final Matcher ma = pa.matcher(s); while (ma.find()) { list.add(ma.group()); } for (int i = 0; i < list.size(); i++) { title = title + list.get(i); } return outTag(title); }/** * 获取参数 * @param s * @param regexarg * @return */ public String getByRegex(final String s,String regexarg) { String regex; String title = ""; final List
list = new ArrayList
(); regex = regexarg; final Pattern pa = Pattern.compile(regex, Pattern.CANON_EQ); final Matcher ma = pa.matcher(s); while (ma.find()) { list.add(ma.group()); } for (int i = 0; i < list.size(); i++) { title = title + list.get(i); } return outTag(title); }/** * * @param args * */ public static void main(final String args[]) { String url = "http://detail.1688.com/offer/41797007099.html?tracelog=p4p"; try { String html = ""; TestHtml testHtml=new TestHtml(); html = testHtml.getOneHtml(url); String Regex="
.*?"; String content=testHtml.getByRegex(html, Regex); System.out.println("contet is :"+content); } catch (final Exception e) { e.getMessage(); } }}

 

转载于:https://www.cnblogs.com/loklook123/p/4159776.html

你可能感兴趣的文章
网络安全管理技术作业-SNMP实验报告
查看>>
根据Uri获取文件的绝对路径
查看>>
Flutter 插件开发:以微信SDK为例
查看>>
.NET[C#]中NullReferenceException(未将对象引用到实例)是什么问题?如何修复处理?...
查看>>
边缘控制平面Ambassador全解读
查看>>
Windows Phone 7 利用计时器DispatcherTimer创建时钟
查看>>
程序员最喜爱的12个Android应用开发框架二(转)
查看>>
vim学习与理解
查看>>
DIRECTSHOW在VS2005中PVOID64问题和配置问题
查看>>
MapReduce的模式,算法以及用例
查看>>
《Advanced Linux Programming》读书笔记(1)
查看>>
zabbix agent item
查看>>
一步一步学习SignalR进行实时通信_7_非代理
查看>>
AOL重组为两大业务部门 全球裁员500人
查看>>
字符设备与块设备的区别
查看>>
为什么我弃用GNOME转向KDE(2)
查看>>
Redis学习记录初篇
查看>>
爬虫案例若干-爬取CSDN博文,糗事百科段子以及淘宝的图片
查看>>
Web实时通信技术
查看>>
第三章 计算机及服务器硬件组成结合企业运维场景 总结
查看>>