python

作者: 白眼狼在路上2037 | 来源:发表于2018-04-12 20:38 被阅读0次

    requests请求方式

         get请求

              requests.get()

         post请求

            requests.post()

    根据浏览器的Request Method字段来确定请求方式

    requests请求参数

    url

         请求网址

    headers

         传递请求头部信息

    data

        传递数据信息  一般用于post请求

    cookies

        传递cookies信息

    proxies

        传递代理信息

    timeout

        设置超时

        timeout=3

    response响应

        查看返回数据

    response.text

        根据返回体内容自动进行二进制数据转换

    response.content

        接受是二进制数据,需要手动转换

    decode() 默认是utf-8格式

        查看响应状态

    response.status_code

        查看请求头部信息

    response.request.header

        查看响应头部信息

    response.header

        查看编码格式

    response.encoding

    模块

    json

        转换json数据为python数据类型

        json.loads(json_str)

        logging

    写错误日志

        importlogging

          #创建一个logging的实例logger

            logger=logging.getLogger('Richard')

        #设定全局日志级别为DEBUG

            logger.setLevel(logging.INFO)

      #创建一个屏幕的handler,并且设定级别为DEBUG

            ch=logging.StreamHandler()

            ch.setLevel(logging.DEBUG)

    #创建一个日志文件的handler,并且设定级别为DEBUG

            fh=logging.FileHandler("access.log")

            fh.setLevel(logging.INFO)

    #设置日志的格式

    formatter=logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")

    #add formatter to ch and fh

    ch.setFormatter(formatter)

    fh.setFormatter(formatter)

    #add ch and fh to logger

    logger.addHandler(ch)

    logger.addHandler(fh)

    #'application' code

    logger.debug("debug message")

    logger.info("info message")

    logger.warning("warn message")

    logger.error("error message")

    logger.critical("crititcal message")

    retrying

    控制请求次数,一般应用于请求函数

    fromretryingimportretry

    @retry(stop_max_attempt_number=3)# 控制请求次数

    defparse(self):

    print(1111)

    r=requests.get(self.url,headers=self.headers,proxies=self.proxies,timeout=2)

    print(r.content.decode())

    错误处理

    try:

    代码

    assert判断条件

    exceptExceptionase:

        print(e)# 打印异常内容

        其他操作

    反爬处理

    使用代理

    使用random获取随机代理ip

    importrandom# 产生随机数

    proxies_list=[{'http':'http://47.91.19.8:8080'},{'http':'http://47.91.139.78:8080'},{'http':'http://47.91.19.78:80'},{'http':'http://147.99.139.78:8080'}]

    # 第一种方式

    a=proxies_list[random.randint(0,len(proxies_list)-1)]

    print(a)

    # 第二种方式

    b=random.choice(proxies_list)

    print(b)

    使用随机User-Agent

    和使用随机ip的方式一样

    减少请求次数

    sleep()

    fromtimeimportsleep

    sleep(3)

    相关文章

      网友评论

        本文标题:python

        本文链接:https://www.haomeiwen.com/subject/cjrfkftx.html