parser.Parse("", True)
xml.parsers.expat.ExpatError: syntax error: line 1, column 0
Вышеприведенные результаты вашей трассировки указывают мне, что ваш файл about_us.xml пуст.У вас есть openurl
, но вы не показали, что когда-либо звонили openurl.read()
, чтобы получить данные.Вы также не показали, где и как вы записали указанные данные в свой файл about_us.xml.
from xml.dom import minidom
import urllib2
url= 'http://www.awgp.org/about_us'
openurl=urllib2.urlopen(url)
doc=minidom.parse(openurl)
print doc
дает мне
Traceback (most recent call last):
File "main.py", line 5, in <module>
doc=minidom.parse(openurl)
File "/usr/local/lib/python2.7/xml/dom/minidom.py", line 1918, in parse
return expatbuilder.parse(file)
File "/usr/local/lib/python2.7/xml/dom/expatbuilder.py", line 928, in parse
result = builder.parseFile(file)
File "/usr/local/lib/python2.7/xml/dom/expatbuilder.py", line 207, in parseFile
parser.Parse(buffer, 0)
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 51, column 81
, что указывает на страницу, которую вы пытаетесьанализировать как XML не правильно сформирован.Попробуйте использовать прекрасный суп , который, по памяти, очень простителен.
from BeautifulSoup import BeautifulSoup
import urllib2
url= 'http://www.awgp.org/about_us'
openurl=urllib2.urlopen(url)
soup = BeautifulSoup(openurl.read())
for a in soup.findAll('a'):
print (a.text, a.get('href'))
Кстати, вам понадобится версия 3 Beautiful Soup, поскольку вы все еще на питоне 2.7