网络爬虫之网页抓取
来源:互联网 发布:淘宝试用协议怎么同意 编辑:程序博客网 时间:2024/05/20 20:43
说到网页抓取,往往有两个点是不得不说的,首先是网页编码的识别,另外一个是对网页脚本运行的支持,除此之外,是否支持以POST方式提交请求和支持自动的cookie管理也是很多人所关注的重要方面。其实Java世界里,已经有很多开源的组件来支持各种各样方式的网页抓取了,所以说使用Java做网页抓取还是比较容易的。下面就是我自己做得网页抓取咯!
思路:1.先获取前端用户输入网页的链接 2.建立网络连接 4.下载源代码(下载时会创建一个临时文件)
先展示下用户输入的网址:
附上网页源码:
<style type="text/css"> *{margin:0;} body{background:url('img/bg.jpg');overflow:hidden;background-size:cover;} .box{width:960px;height:480px;margin:200px auto;text-align:center;} .box h1{color:white;} .box img{ opacity:.5;border-radius:10px;} input{margin:40px 0;} .btn{height:40px;width:140px;background:#a9a9a9;} #url{height:35px;width:360px; autocomplete:off;text-indent:20px;} </style><body> <div class="box"> <img src="img/logo.jpg" width="200px" height="50px"> <h1>梦想集群· java学院</h1> <form action="Source.jsp" method="post" onsubmit="validator()"> <input type="text" placeholder= "请输入URL,如http://www.qq.com" name="url" id="url" > <input type="submit" class="btn" value="获取网页源代码" name="btn"> </form> </div> <script type="text/javascript"> //判断网址的合法性 function validator(){ //获取输入框里面的值 var url = document.getElementById("url").value; //判断是不是空 或者长度为0 if(url==""||url.length==0){ alert("请输入url"); //获取焦点 document.getElementById("url").focus(); return false; } if(url!=""&&url.indexOf("http://")==-1){ alert("请输入正确的url");//获取焦点 document.getElementById("url").focus(); return false; } } </script> </body>
获取网页源码和网页中的图片
java后端代码片段:public static String htmlSource(String link,String encoding){ StringBuilder stringBuilder = new StringBuilder(); try { //获取网络对象 URL url = new URL(link); //建立网络连接 URLConnection uc = url.openConnection(); //伪装 uc.setRequestProperty("User-Agent", "java"); //下载源代码 //获取文件输入流 InputStream inputstream = uc.getInputStream(); //建立io流的缓冲 提升效率 InputStreamReader in = new InputStreamReader(inputstream,encoding); //下载源代码的缓冲 BufferedReader reader = new BufferedReader(in); //开始下载源代码 //创建一个临时文件 String line=null; while ((line=reader.readLine())!=null) { stringBuilder.append(line+"\r\n"); } //关闭流 先进后出 后进先出 reader.close(); in.close(); } catch (Exception e) { //打印堆栈信息 e.printStackTrace(); } return stringBuilder.toString(); } // <% //获取url String url=request.getParameter("url"); //获取源代码 String html = TmDownImgUtil.htmlSource(url,"gbk"); //将源代码放到页面对象里面 pageContext.setAttribute("htmlsource", html); %>
ps.想要源码的请私聊我
阅读全文
0 0
- 网络爬虫之网页抓取
- 网络爬虫(网络蜘蛛)之网页抓取
- 网络爬虫(网络蜘蛛)之网页抓取
- 网络爬虫(网络蜘蛛)之网页抓取
- 网络爬虫(网络蜘蛛)之网页抓取
- 网络爬虫(网络蜘蛛)之网页抓取
- java抓取网页 --- 网络爬虫
- 网络爬虫(一)-------抓取网页之理解URL
- python网络爬虫,抓取网页图片
- Java实现网络爬虫001-抓取网页
- python爬虫实践之网页抓取
- Linux企业级项目实践之网络爬虫(9)——通过URL抓取网页内容
- Node.js学习之网络爬虫(使用cheerio抓取网页数据)
- 网络爬虫之抓取网站新闻
- 网络爬虫之简单链接抓取
- Python爬虫之抓取网络图片
- Python3 网络爬虫之抓取图片
- 网络爬虫之链接网页
- 51Nod-1594-Gcd and Phi
- thinkphp 上传bmp图片
- rose
- 如何修改PPT中左下方状态栏的主题名称
- 什么是尾递归
- 网络爬虫之网页抓取
- 深入研究 Java Synchronize 和 Lock 的区别与用法
- 每日一题--从1到n整数中1出现的次数
- 记一次sql传map,list,参数小结
- linux部分命令
- Android 颜色设置:透明度换算
- spring上传和下载
- ZigBee(CC2530/CC2531)双串口配置(Z-Stack2.5版本以上)
- tomcat9.0免安装配置