python post actionスクリプト

2459 ワード

#!/usr/bin/env python
# -*- encoding:utf-8 -*-
#       

import os
import sys
import csv
import logging
import urllib
import urllib2
import datetime
reload(sys)
sys.setdefaultencoding('utf-8')
base_dir = os.path.expanduser('~')
file_date = str(datetime.date.today())
logging.basicConfig(filename='./log/end_cc_order.'+file_date+'.log', level=logging.DEBUG, format='%(asctime)s %(levelname)s %(message)s', filemode='a')
logger = logging.getLogger()
logger.addHandler(logging.StreamHandler())


order_file = "/home/temp/end_cc_order.csv"
user_cookie = "xxxx"
headers = {
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
        'Cookie': user_cookie
    }


def get_order():
    reader = csv.reader(open(order_file, 'rb'))
    for row in reader:
        o_id = row[0].strip()
        if o_id.isdigit() is True:
            do_action(o_id)


def do_action(orders_id):
    url = "http://order.xxx.com/xx/xx/xx_contactingCustomer.action"
    data = {"ordersId": orders_id, "reasonId": 94, "comment": "test"}
    data = urllib.urlencode(data)
    request = urllib2.Request(url, data, headers)
    response = urllib2.urlopen(request)
    logger.info(response.read()+" order:"+orders_id)


def batch_get_order():
    ids = []
    reader = csv.reader(open(order_file, 'rb'))
    for row in reader:
        o_id = row[0].strip()
        if o_id is not None and o_id.isdigit() is True:
            ids.append(o_id)

    length = 20

    for i in range(0, len(ids), length):
        batch_do_action(ids[i:i + length])


def batch_do_action(orders_id_list):
    url = "http://order.xxxx.com/xx/xx/xx_batchContactingCustomer.action"
    data = {"ordersIdList": orders_id_list, "reasonId": 94, "comment": "test batch"}
    #           True         
    data = urllib.urlencode(data, True)
    request = urllib2.Request(url, data, headers)
    response = urllib2.urlopen(request)
    logger.info(response.read()+" orders:"+str(orders_id_list))


if __name__ == '__main__':
    batch_get_order()
 
  

True