使用我的代码,我可以从我的所有会话中提取信息。一切都很好但有些时候我有一个错误:xml.etree.ElementTree.ParseError: mismatched tag: line 22, column 6
。我想编辑我的代码来纠正这些错误。如果从执行函数到每个会话结束可能出现任何错误
# encoding=utf8
# -*- coding: utf-8 -*-
import random
import xml.etree.ElementTree as ET
import requests
from requests.auth import HTTPBasicAuth
import sys
import csv
reload(sys)
sys.setdefaultencoding('utf-8')
lista = []
number = str(random.random())
cuenta = ['@a.com', '@b.com', '@c','@d', '@e', '@f']
for item in cuenta:
user = 'user{}'.format(item)
passwd = 'pass'
url = 'url'
login = requests.get(url, auth=HTTPBasicAuth(user, passwd))
url_sitios = 'url_sitios'
sitios = requests.get(url_sitios, auth=HTTPBasicAuth(user, passwd))
sitios2 = sitios.text
root = ET.fromstring(sitios2)
for s in root.findall('sitio'):
id = s.find('sitio_id')
fa = s.find('fecha_alta')
i24 = s.find('*/item[@id="imps24ad"]') # Impresiones Vendidas ultimas 24HS
estado = s.find('estado')
url = s.find('url')
nombre = s.find('nombre')
a = id.text # id del Sitio
b = fa.text # Fecha de alta
c = i24.text # Ultimas 24hs Impresiones
d = estado.text # Estado
e = url.text # url
f = nombre.text # nombre
sitio = str(a), str(b), str(c), str(d), str(e), str(f)
sitio_ok = (list(sitio))
ff = lista.append(sitio_ok)
print ff
requests.get('url_out' + number + '&o=xml', auth=HTTPBasicAuth(user, passwd))
with open("data.csv", "wb") as f:
writer = csv.writer(f)
writer.writerows(lista)