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)