• java爬虫笔记


    一、URl解释

     1、URl统一资源定位符, Uniform Resource Location 也就是说是Internet上信息资源的字符串,所谓的网页抓取就是把URl地址中指定的网络资源从网络中读取出来,保存到本地,

    2、java.net.URl类可以对相应的web服务器发出请求并且获得响应的文档,java.net.URl类有过一个默认的构造函数,使用URl的地址作为参数,构造URl对象。

    URL pageURl=new URl(path)接着可以获得URl对象类获得网络流,操作网络资源  INputStream steram=pageURL.openStraeam(); 在实际的网络韩静中比较复杂,只用java.net的API来模拟IE客户端的工作,代码量大,需要处理HTTP返回的状态码,设置HTTP代理,处理HTTPS协议 ,咋实际开发中使用Apache的HTTP客户端开源项目HTTPClient处理各种HTTP连接中的问题,只需要在项目中导入HTTPClient.jar包,就可以模拟IE来获取网页。

         /////创建一个客户端   http://hc.apache.org/downloads.cgi  这是源码包的下载地址

        HTTpClient httpclient=new HTTPClient(); 

    //创建一个get方法没累死与在浏览器地址栏中输入一个地址

      GetMethod getMethod=new GetMethod("http://www.baidu.com");

    //回车,获得响应状态码

     int statusCode=httpClient.executeMethod(getMethod);

    //查看命中的情况,可以获得很东西,比如 head  Cookies等

       System.out.println("Response" +getMethod.getResponseBodyASString());

    //释放

    getMethod.releaseConnection()

    另外post和get的不同之处就是get是把参数写在URL中一同提交。

    设置代理服务器的IP地址和端口   ////hrrpClient.getHostConfiguration().setProxy("192.178.222.2",2323);

    //告诉HTTP使用抢先认证,否则你会收到“你没有资格”

    httpClient.getParams().setAuthenticationPreemptive(true)

    3、处理HTTP状态码

          int statusCode=httpClient.executeMethod(getMethod)//获得状态码   状态码表示HTTP协议反悔的响应状态,比如客户端像服务器发送请求,若果成功返回200 表示成功,如果请求的资源不存在,则返回404错误。

      HTTP状态码分为五种类型,分别以1-5开头,有三位数字组成,1XX用作实验用途,

    4、assert的意思是,表达式 n!=0应该是True 否则根据程序逻辑后面的代码会出错,若果断言失败,assert语句本身就会跑出AssertionError

    5、pdb调试程序 以参数 -m pdb 启动后,pdb定位到下一步要执行的代码 输入命令1 来查看代码,输入n 调试到代码的下一行,任何时候都可以输入 变量 p +变量名来查看变量

     

    另外一种调试就是导入 import  pdb 然后设置 程序可能出错的地方放置一个pdb.set_trace()就可以设置一大个断点。可以用命令p 查看变量,或者命令c 继续执行。这个方式比直接挨冻pdb单步调用调试的效率要高

    6、单元测试

    测试驱动开发 TDD Test-Driven Development 单元测试是用来对一个模块,一个函数或者一个类来进行正确性检验的测试工作,如果单元测试那个通过,说明函数正常,但是不通过,说明函数存在bug ,要么就是测试条件输入不正确,需要修复测试单元测试。

  • 相关阅读:
    Linux常用的命令
    【练习】分区
    【测试】RAC搭建(裸设备)
    【练习】使用事务和锁定语句
    【练习】使用事务控制语句
    【练习】设置数据类型
    【练习】显示MySQLadmin 库户籍选项
    【练习】显示MYSQL客户机选项
    【练习】如何显示本地主机上的MySQL客户机版本
    【测试】切换保护模式,最大性能到最大可用
  • 原文地址:https://www.cnblogs.com/xinxianquan/p/8592983.html
Copyright © 2020-2023  润新知