`
liangjian103
  • 浏览: 176916 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

抓取防爬虫的网站信息(梁健-原创)

阅读更多

    有的网站限制网络爬虫的抓取,例如javaeye。会出现错误提示:

    您的访问请求被拒绝
        您可能使用了网络爬虫抓取ITeye网站页面!
        ITeye网站不允许您使用网络爬虫对ITeye进行恶意的网页抓取,请您立刻停止该抓取行为!
        如果您的网络爬虫不属于恶意抓取行为,希望ITeye网站允许你进行网页抓取,请和ITeye管理员联系,取得授权: webmasteriteye.com
        如果您确实使用浏览器访问,但是被错误的识别为网络爬虫,请将您浏览器发送的“User Agent”信息告知我们,帮助我们解决错误: webmasteriteye.com
      

    可以设置下链接的参数来解决。
   
    URL url=new URL(pathString);
    URLConnection con=url.openConnection();
    con.setDoOutput(true);
    con.setRequestProperty("User-Agent", "");
  
    加上上面红色的一句,就可以了。
    或者使用httpclient是,添加

    HttpClient httpClient=new HttpClient();
   httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(50000);
    httpClient.getParams().setParameter(HttpMethodParams.USER_AGENT,"Mozilla/5.0 (X11; U; Linux i686; zh-CN; rv:1.9.1.2) Gecko/20090803 Fedora/3.5");

 
     这样就可以了。

--------------------

我的部分代码参考:

 private HttpClient httpClient = null;
 
 public SuNingHtmlparseUtil(String host){
  if(httpClient == null){
   httpClient = new HttpClient();
  }
  httpClient.getHostConfiguration().setHost(host, 80, "http");
  httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(50000);
     httpClient.getParams().setParameter(HttpMethodParams.USER_AGENT,"Mozilla/5.0 (X11; U; Linux i686; zh-CN; rv:1.9.1.2) Gecko/20090803 Fedora/3.5");

 }
 
 public SuNingHtmlparseUtil(){
  if(httpClient == null){
   httpClient = new HttpClient();
  }
  httpClient.getHostConfiguration().setHost("", 80, "http");
  httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(50000);
     httpClient.getParams().setParameter(HttpMethodParams.USER_AGENT,"Mozilla/5.0 (X11; U; Linux i686; zh-CN; rv:1.9.1.2) Gecko/20090803 Fedora/3.5");

 }

 
 public String getConnectAsString(String url,String charset) throws Exception {
  GetMethod get = new GetMethod(url);
  httpClient.executeMethod(get);
  if("utf-8".equals(charset.toLowerCase())){
   return new String(get.getResponseBodyAsString().getBytes("iso-8859-1"),charset);
  }else{
   return new String(get.getResponseBodyAsString().getBytes(),charset);   
  }
 }

 

分享到:
评论

相关推荐

    2018054600梁健琦1

    项目由暨南大学智能科学与工程学院信息安全专业学生梁健琦完成,作为移动软件开发与安全课程的一部分,指导教师为陈双平。 在记账本功能的实现中,软件需要具备以下基本功能: 1. **增删功能**:用户应能够方便地...

    基于深度神经网络的诗词检索_梁健楠1

    中国古典诗词是中华文化的重要组成部分,蕴含着丰富的历史和情感信息。随着人工智能领域的进步,将神经网络应用于诗词研究成为可能,为理解和检索诗词提供了新的方法。循环神经网络(RNN)作为一种适用于序列数据的...

    论文相似性检测报告(详细版)1

    在学术研究领域,确保论文的原创性和避免抄袭现象至关重要。因此,论文相似性检测报告成为评价论文独立性的重要工具。本文将以“论文相似性检测报告(详细版)1”为例,详细介绍其核心概念和检测结果。 首先,报告中...

    咖啡产品进超市经营可行性方案.doc

    - 团队由具备销售和管理经验的发起人赵银喜,以及有超市财务工作经验的梁健组成。 - 团队成员具有互补的专业技能和经验,有利于项目的实施和运营。 综上所述,此方案探讨了将咖啡产品引入超市销售的可行性,通过...

    SSM酒店客房管理系统任务书.doc

    为了完成这个任务,学生需要阅读和理解相关的文献,如岳颖颖的“基于Web酒店管理系统设计分析”,王维、刘峻杰和李洪亮的“中小型酒店住宿管理系统的设计与实现”,刘映群、刘俊钦和梁健煊的“智慧酒店管理系统设计...

    移动通信课程设计.doc

    本设计参考了多篇相关文献,包括李志强等人的《基于 GSM 的温湿度远程监控系统设计》、黄欣荣的《基于 GSM 短信模块的家庭防盗报警系统的设计》、梁健等人的《基于 GSM 无线传输的温室温度监控系统的设计》、梁健的...

    Arm首次发布CPU路线图.pdf

    [2] 路晨,梁健.基于 1553B 总线的接口实现与测试[J].电子设计工程,2014(12):14-17. [3] 舒传华,唐海波.1553B 总线消息解析方法研究和应用[J].遥测遥控,2015(11):57-63. [4] 商伟峰,冯建文.基于 FPGA 的...

    stm32电子钟设计课程设计报告.doc

    在这个课程设计中,学生梁健选择了STM32作为核心处理器,结合其他硬件模块实现了一个具有多种功能的电子时钟。 一、设计任务与要求 1、设计任务: 设计的主要任务是构建一个能够准确显示时间(小时、分钟、秒)的...

    H5ToUniversal

    根据提供的文件信息,以下是对标题和描述中所提及知识点的详细阐述。 首先,“H5ToUniversal”这个标题暗示了本文的焦点是关于将HTML5技术开发的应用程序迁移到Universal Windows Platform(UWP),也就是微软的...

    Modoer模板手册

    Modoer模板手册 Modoer模板手册是Modoer2.0版本的...$_CFG:这是一个关于Modoer核心设置的全部数组,里面存放了网站名称、网址等信息 这些全局变量可以帮助开发者更方便地使用Modoer模板,提高开发效率和开发质量。

Global site tag (gtag.js) - Google Analytics