美文网首页
Basic--日志,响应时间,数据抓取

Basic--日志,响应时间,数据抓取

作者: lvyz0207 | 来源:发表于2020-03-05 19:46 被阅读0次

base_moudle.py

日志文件输出,使用装饰器获取响应时间

import functools
import time
import logging

import os

log_file = os.path.join(os.getcwd() + "/request.log")
logging.basicConfig(level=logging.INFO,
                    filename=log_file,
                    datefmt='%Y-%m-%d %H:%M:%S',
                    format='%(asctime)s %(levelname)s %(module)s %(message)s')
Logger = logging.getLogger(__name__)


def run_time(func):
    @functools.wraps(func)
    def wraps(*args, **kwargs):
        start = time.perf_counter()
        result = func(*args, **kwargs)
        end = time.perf_counter()
        Logger.info("使用装饰器方法:{}, 响应时间:{}ms, 输出的结果:{}".format(func.__name__, int((end - start) * 1000), result))

    return wraps

抓取数据

import json
import xlwt
from tests.base_module import Logger,run_time
import requests


def get_userData(url, headers, cookies):
    response = requests.get(url, headers=headers, cookies=cookies)
    response = response.text
    data = json.loads(response)
    Logger.info(data)
    userList = data["data"]["userList"]
    user = []
    for userData in userList:
        dict(userData)
        user_id = userData["user_id"]
        peiyou_name = userData["name"]

        tuple1 = [user_id, peiyou_name]
        user.append(tuple1)
    return user


# 设置表格样式
def set_style(name, height, bold=False):
    style = xlwt.XFStyle()
    font = xlwt.Font()
    font.name = name
    font.bold = bold
    font.color_index = 4
    font.height = height
    style.font = font
    return style


# 写Excel
@run_time
def write_excel():
    f = xlwt.Workbook()
    sheet1 = f.add_sheet('用户', cell_overwrite_ok=True)
    row0 = ["user_id", "姓名"]
    user_list = get_userData(url, headers, cookies)
    # 写第一行
    for i in range(0, len(row0)):
        sheet1.write(0, i, row0[i], set_style('Times New Roman', 220, True))

    # 写第二行
    a = 0
    for user in user_list:
        print(user)
        a += 1
        for i in range(0, len(user)):
            sheet1.write(a,i, str(user[i]), set_style('Times New Roman', 220, True))

    f.save('test.xls')


if __name__ == "__main__":
    url = "https://simple.test.com/api/student/studentinfo?course_id=1000&class_id=-1&course_state=2"
    headers = {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) " \
                      "Chrome/80.0.3987.122 Safari/537.36"
    }

    cookies = {
        "Cookies": "示例cookie"}

    # get_userData(url, headers, cookies)
    write_excel()
超越

相关文章

  • Basic--日志,响应时间,数据抓取

    base_moudle.py 日志文件输出,使用装饰器获取响应时间 抓取数据

  • http协议

    1-http 数据结构 http 请求格式:(请求与响应有细微的差别) http 响应格式 抓取包: 2-http...

  • charles之抓取浏览器https请求

    用charles抓取浏览器https的包时,请求显示为unknown,且请求和响应数据乱码,本篇介绍如何抓取正常响...

  • JMeter:后置处理器_初识

    后置处理器是用于发送请求之后,对请求响应做一些处理,或者抓取响应数据,比如提取响应报文中的内容,获取Cookie、...

  • SEO中的蜘蛛日志抓取

    蜘蛛日志抓取量= 蜘蛛总停留时间 / 单个页面抓取耗时 蜘蛛分析工具 www.loghao.com[http://...

  • Python3数据分析与挖掘建模实战 笔记

    第2章 数据获取 数据获取手段: 数据仓库 监测与抓取 填写、埋点、日志 计算 数据仓库 将所有业务数据经汇总处理...

  • 数据分析与建模挖掘- 数据获取

    数据获取手段 数据仓库 检测与抓取 填写 日志 埋点 计算 数据仓库 分析仅靠运行的数据库无法完成 数据更改 减少...

  • GT-IOS性能测试的集成工具

    简介 GT:对app进行性能测试、开发日志的查看、crash日志查看、网络数据包的抓取、代码耗时统计。支持iOS和...

  • ANR安卓无响应日志获取

    安卓应用在设备上运行经常会出现无响应的情况,但是无响应的情况有时候未必能100%的复现,通过抓取adb日志就不是特...

  • 抓包工具-fiddler

    关键词:fiddler功能点:1、HTTP/HTTPS协议数据的抓取与分析2、修改请求/响应数据3、超时和弱网络测...

网友评论

      本文标题:Basic--日志,响应时间,数据抓取

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