修复Python中的XML语法错误

时间:2018-01-30 00:47:37

标签: python xml request

使用我的代码,我可以从我的所有会话中提取信息。一切都很好但有些时候我有一个错误: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)

0 个答案:

没有答案