当前位置: 首页 > news >正文

怎么做盗版小说网站/太原seo优化公司

怎么做盗版小说网站,太原seo优化公司,全屋设计装修效果图,宝山网站建设公司前言:   时下互联网第一波的浪潮已消逝,随着而来的基于万千数据的物联网时代,因而数据成为企业的重要战略资源之一。基于数据抓取技术,本文介绍了java相关抓取工具,并附上demo源码供感兴趣的朋友测试! 1&…


前言:
  时下互联网第一波的浪潮已消逝,随着而来的基于万千数据的物联网时代,因而数据成为企业的重要战略资源之一。基于数据抓取技术,本文介绍了java相关抓取工具,并附上demo源码供感兴趣的朋友测试!

 

1)JDK自带HTTP连接,获取页面或Json

 

2) JDK自带URL连接,获取页面或Json

 

 

3)HttpClient Get工具,获取页面或Json

 

 

 4)commons-io工具,获取页面或Json

 

 

5) Jsoup工具(通常用于html字段解析),获取页面,非Json返回格式】

 


完整代码:

package com.yeezhao.common.http;import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.io.IOUtils;
import org.jsoup.Jsoup;/*** http工具对比* * @author Administrator -> junhong**         2016年12月27日*/
public class HttpFetchUtil {/*** 获取访问的状态码* @param request* @return* @throws Exception*/public static int getResponseCode(String request) throws Exception {URL url = new URL(request);HttpURLConnection conn = (HttpURLConnection) url.openConnection();return conn.getResponseCode();}/*** 1)JDK自带HTTP连接,获取页面或Json* @param request* @param charset* @return* @throws Exception*/public static String JDKFetch(String request, String charset) throws Exception {URL url = new URL(request);HttpURLConnection conn = (HttpURLConnection) url.openConnection();//模拟浏览器参数conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36"+ " (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36");if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {InputStream input = conn.getInputStream();StringBuffer sb = new StringBuffer();BufferedReader reader = new BufferedReader(new InputStreamReader(input, charset));String s;while ((s = reader.readLine()) != null) {sb.append(s + "\n");}input.close();conn.disconnect();return sb.toString();}return "";}/*** 2) JDK自带URL连接,获取页面或Json* @param request* @param charset* @return* @throws Exception*/public static String URLFetch(String request, String charset) throws Exception {URL url = new URL(request);return IOUtils.toString(url.openStream());}/*** 3)HttpClient Get工具,获取页面或Json* @param url* @param charset* @return* @throws Exception*/public static String httpClientFetch(String url, String charset) throws Exception {// GETHttpClient httpClient = new HttpClient();httpClient.getParams().setContentCharset(charset);HttpMethod method = new GetMethod(url);httpClient.executeMethod(method);return method.getResponseBodyAsString();}/*** 4)commons-io工具,获取页面或Json* @param url* @param charset* @return* @throws Exception*/public static String commonsIOFetch(String url, String charset) throws Exception {return IOUtils.toString(new URL(url), charset);}/*** 5) Jsoup工具(通常用于html字段解析),获取页面,非Json返回格式* @param url* @return* @throws Exception*/public static String jsoupFetch(String url) throws Exception {return Jsoup.parse(new URL(url), 2 * 1000).html();}}

 

测试代码:

package com.yeezhao.common.http;import org.junit.After;
import org.junit.Before;
import org.junit.Test;
/*** 测试类* 3个测试链接:* 1)百科网页* 2)浏览器模拟获取接口数据* 3)获取普通接口数据* @author Administrator -> junhong** 2016年12月27日*/
public class HttpFetchUtilTest {String seeds[] = {"http://baike.baidu.com/view/1.htm","http://m.ximalaya.com/tracks/26096131.json","http://remyapi.yeezhao.com/api/query?wd=%E5%91%A8%E6%98%9F%E9%A9%B0%E7%9A%84%E7%94%B5%E5%BD%B1"};final static String DEFAULT_CHARSET = "UTF-8";@Beforepublic void setUp() throws Exception {}@Afterpublic void tearDown() throws Exception {System.out.println("--- down ---");}@Testpublic void testGetResponseCode() throws Exception{for(String seed:seeds){int responseCode = HttpFetchUtil.getResponseCode(seed);System.out.println("ret="+responseCode);}}@Testpublic void testJDKFetch() throws Exception{for(String seed:seeds){String ret = HttpFetchUtil.JDKFetch(seed, DEFAULT_CHARSET);System.out.println("ret="+ret);}}@Testpublic void testURLFetch() throws Exception{for(String seed:seeds){String ret = HttpFetchUtil.URLFetch(seed, DEFAULT_CHARSET);System.out.println("ret="+ret);}}@Testpublic void testHttpClientFetch()throws Exception {for(String seed:seeds){String ret = HttpFetchUtil.httpClientFetch(seed, DEFAULT_CHARSET);System.out.println("ret="+ret);}}@Testpublic void testCommonsIOFetch()throws Exception {for(String seed:seeds){String ret = HttpFetchUtil.commonsIOFetch(seed, DEFAULT_CHARSET);System.out.println("ret="+ret);}}@Testpublic void testJsoupFetch() throws Exception{for(String seed:seeds){String ret = HttpFetchUtil.jsoupFetch(seed);System.out.println("ret="+ret);}}}

 

 

附:相关jar依赖

...
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.7.3</version>
</dependency><dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency><dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
...

 

后语:
  现在的数据时代,有着"数据即财富"的理念。因此,数据抓取技术将一直发展更新,基于此后续还将扩充针对POST方法的抓取方式,敬请期待!



转载于:https://www.cnblogs.com/SeaSky0606/p/6224964.html

http://www.lbrq.cn/news/1320661.html

相关文章:

  • php网站开发教程图片/怎么找专业的营销团队
  • 厦门做网站公司/最有效的网络推广方式和策略
  • 租车网站建设/国家高新技术企业
  • 周口建设局网站/企业网站推广的方法
  • 找网站/长沙专业竞价优化首选
  • 个人公司网站怎么做/百度广告联盟平台
  • 建设商务网站公司/凡科建站登录
  • 富阳区建设工程质监站网站/百度站长工具网站提交
  • 天河建设网站开发/2022年最火的关键词
  • 怎么给网站做备份呢/2022年最近十大新闻
  • 网站开发温州/好的seo网站
  • 如何通过axure做网站/全球网站访问量排名
  • 淘宝做网站建设靠谱吗/网站如何让百度收录
  • 郑州做网站的/站长统计免费下载
  • 嘉兴微信网站建设/搜索引擎优化关键词
  • 宜兴做阿里巴巴网站/十大免费b2b网站
  • 千卓品牌策划/seo的英文全称是什么
  • 简约的网站/b站引流推广
  • 网站链接做投票/海外aso优化
  • 昆明网站制作代理/网站测试的内容有哪些
  • 做企业网站需要准备什么资料/百度运营推广
  • 北京做网站ezhixi/朝阳区seo搜索引擎优化介绍
  • 政务网站群建设/软文是什么意思通俗点
  • 优化模型/韶关网站seo
  • 长安网站建设多少钱/企业网站seo方案案例
  • 东莞微信网站开发/网站建设需要多少钱?
  • wordpress 显示全部文章/2022百度seo优化工具
  • 周至做网站的公司/互联网广告销售是做什么的
  • 找事做的网站/外贸全网营销推广
  • 网络规划设计 网站建设/郑州优化公司有哪些
  • U-Net vs. 传统CNN:为什么医学图像分割需要跳过连接?
  • C#常见的转义字符
  • Linux用户与组管理全解析
  • 搭建 Mock 服务,实现前端自调
  • 【科普】在STM32中有哪些定时器?
  • 在Trae中使用MoonBit月兔