python requests模組聯合logging模組
阿新 • • 發佈:2019-02-13
Requests,是為人類準備的HTTP,以更pythonic的方式處理HTTP請求。比urllib2好用得多得多得多。自己拿來親自用一下。
logging是企業開發常用模組,光看程式碼經常遇到,現在自己也用一下。日誌一共分成5個等級,從低到高分別是:DEBUG INFO WARNING ERROR CRITICAL。
DEBUG:詳細的資訊,通常只出現在診斷問題上
INFO:確認一切按預期執行
WARNING:一個跡象表明,一些意想不到的事情發生了,或表明一些問題在不久的將來(例如。磁碟空間低”)。這個軟體還能按預期工作。
ERROR:更嚴重的問題,軟體沒能執行一些功能
CRITICAL:一個嚴重的錯誤,這表明程式本身可能無法繼續執行
這5個等級,也分別對應5種打日誌的方法: debug 、info 、warning 、error 、critical。預設的是WARNING,當在WARNING或之上時才被跟蹤。
正好有一個小需求,因此故意使用新技術解決。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
########################################################################
#
# Copyright (c) 2017 Baidu.com, Inc. All Rights Reserved
#
########################################################################
"""
File: getUrl.py
Author: video
Email: ***
Date: 2017/07/18 17:36:57
"""
import requests
import time
import logging
import json
signs = ['06570286000418948103','1996366900256323374']
linkSigns = ['2765203377,2286844921','464815390,1528837934']
#signs = ['29818172963952422978']
logging.basicConfig(level=logging.INFO,
filename='../log/log.txt',
filemode='a' ,
format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
while True:
i = 0
for sign in signs:
timestmp = time.time()
url = "http://******.baidu.com/p.gif?tpl=wisePlay&sign={0}&r={1}".format(sign,timestmp)
res = requests.get(url)
logging.info(url)
logging.info(res)
playSum = "http://*******.baidu.com:8083/vdo_db?table_name=video_short_meta&key={0}&token=ugcrp".format(linkSigns[i])
resPlaySum = requests.get(playSum)
html = resPlaySum.text
resDict = json.loads(html)
logging.info(resDict)
print url
print res
print linkSigns[i]
print resDict
i += 1
time.sleep(60)