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

创网站需要什么免费网站大全下载

创网站需要什么,免费网站大全下载,wordpress concise,做时时彩网站平台有哪些从一个URL获取Document对象的其他姊妹章: 模拟浏览器:get方式简单获取网页数据(一) 模拟浏览器:post方式模拟登陆获取网页数据(二) 模拟浏览器:Jsoup工具类的使用及失败重试的retry策略&#x…
从一个URL获取Document对象的其他姊妹章:

模拟浏览器:get方式简单获取网页数据(一)
模拟浏览器:post方式模拟登陆获取网页数据(二)
模拟浏览器:Jsoup工具类的使用及失败重试的retry策略(三)

工具类:顾名思义是一个工具,作为工具就是给别人使用的,只提供静态方法的无状态类(通常以Helper和Util(s)结尾),它没有明确的业务职能,在项目中也不会被实例化成对象。
在实际做爬虫中,访问不同的网站或者同一网站不同的地址的时候,会创建不同Jsoup Connection,这样会造成代码的大量重复逻辑,
将创建connection的过程封装成util工具类,很好的解决了此类问题。
一般爬虫都是在做无人值守,很多的网站也会有反爬虫策略,这样你做的爬虫很有可能再正常执行一段时间后就出现了问题,下面的工具类提供了简单的retry失败重试策略,在项目中retry策略可以更加丰富,比如追加动态代理,随记访问时间等。
/*** En:Utils class to parse website html by <code>Jsoup</code></br>* Jp:ウェブサイトを解析する用ユーティリティクラス</br>* Zh:Jsoup模拟浏览器解析网页工具类</br>* * @since crawler(datasnatch) version(1.0)</br>* @author bluetata / https://github.com/bluetata</br>* @version 1.0</br>* */
public final class JsoupUtil {/*** 方法用途和描述: 模拟浏览器以Document类型返回被访问的网站源码* * @param url 被访问的website. 所传的URL必须以 "http://www."开头* @return doc 以Document类型返回被访问网页的html* @throws Exception*/public static Document getDocument(String url) throws Exception {Document doc = null;StringWriter strWriter = new StringWriter();PrintWriter prtWriter = new PrintWriter(strWriter);// En:get max retry count from properties file(com-constants.properties)// Jp:プロパティファイルでロックタイムアウトのリトライ回数を取得する Zh:通过properties获取最大retry次数int maxRetry = Integer.parseInt(PropertyReader.getProperties(SystemConstants.COM_CONSTANTS).getProperty(UtilsConstants.MAX_RETRY_COUNT));// En: get sleep time from properties file Jp:プロパティファイルでロックタイムアウトのスリープ時間を取得するint sleepTime = Integer.parseInt(PropertyReader.getProperties(SystemConstants.COM_CONSTANTS).getProperty(UtilsConstants.SLEEP_TIME_COUNT));// En: if exception is occurred then retry loop is continue to run;// Jp: 異常を起きる場合、ループを続き実行する。for (int j = 1; j <= maxRetry; j++) {try {if (j != 1) {Thread.sleep(sleepTime);}doc = Jsoup.connect(url).timeout(10 * 1000).userAgent(// add userAgent. TODO There is a plan to configure userAgent to load that userAgent from a property file."Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30").get();// En: normal finish situation,loop is broken.// Jp: サービスが正常に終了した場合、ループを中止します。// Zh: 正常终了的情况、终止循环。break;} catch (Exception ex) {// throw new Exception(ex); dead code is occurred// StackTraceを文字列で取得ex.printStackTrace(prtWriter);String stackTrace = strWriter.toString();if (strWriter != null) {try {strWriter.close();} catch (IOException ioe) {ioe.printStackTrace();}}if (prtWriter != null) {prtWriter.close();}// En:info log is output. Jp: Infoログとして、エラー内容を出力。 Zh:输出到info log。Log4jUtil.info(stackTrace);}}return doc;}
}

Jsoup学习讨论QQ群:50695115

Jsoup爬虫代码示例及博客内源码下载:https://github.com/bluetata/crawler-jsoup-maven

更多Jsoup相关文章,请查阅专栏:【Jsoup in action】


本文原创由`bluetata`发布于blog.csdn.net、转载请务必注明出处。


Flag Counter

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

相关文章:

  • 企业商城网站开发建设品牌策划的五个步骤
  • 做网站收款支付宝接口成都推广系统
  • 网页制作实践 做网站色盲测试卡
  • 湖南长沙网站建设seo综合查询网站
  • 云南微网站开发网站权重怎么查
  • 武清做网站的公司免费推广网站大全下载
  • wordpress文章调用标签长沙seo男团
  • 网站后台ftp替换图片怎么做东莞好的网站国外站建设价格
  • 汕头站扩建进展今天中国新闻
  • 宁波大型网站设计公司点击排名优化
  • 小说网站静态模板长沙seo关键词
  • 安庆网站建设专近三年成功的营销案例
  • app免费制作软件中文版长沙seo推广外包
  • 岐山网站建设长沙seo推广优化
  • javaee可以做网站么aso优化师
  • 数字展厅展馆解决专家seo在线教程
  • 政府网站建设情况工作报告找客户资源的软件免费的
  • 国外做的好的鲜花网站河南网站seo费用
  • 网站界面建议济南特大最新消息
  • wordpress 如何建站sem分析是什么
  • 网站的支付系统怎么做html模板网站
  • 成人高考骗局推广优化关键词
  • 海外网络是什么意思seo培训赚钱
  • 湖南长沙大学海外aso优化
  • 青岛做公司网站的多吗东莞seo网站优化排名
  • 上海 培训网站建设合肥百度关键词推广
  • 网站的费用可以做无形资产如何建立一个网站
  • 江苏建设工程招标网站域名状态查询工具
  • wordpress 格式品牌词优化
  • wordpress博客漏洞企业seo
  • Docker大全
  • C# 使用iText获取PDF的trailer数据
  • R语言代码加密(1)
  • 亚马逊广告运营如何平衡ASIN投放和关键词投放
  • C# GUI程序中的异步操作:解决界面卡顿的关键技术
  • 跨域解决方案