1. 程式人生 > >python requests模組聯合logging模組

python requests模組聯合logging模組

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)