我正在使用
import urllib2
from BeautifulSoup import BeautifulStoneSoup
xml = urllib2.urlopen('http://weatherlink.com/xml.php?user=blah&pass=blah')
soup = BeautifulStoneSoup(xml)
print soup.prettify()
但这只是抓住了HTML。如果我卷曲它,我会得到类似的东西:
...
<title>blah</title>
<link>http://www.blah.com</link>
</image>
<suggested_pickup>15 minutes after the hour</suggested_pickup>
<dewpoint_c>16.7</dewpoint_c>
<dewpoint_f>62</dewpoint_f>
<heat_index_f>77</heat_index_f>
...
我该怎么做:
some_data {}
some_data [ 'dewpoint_c' ] = 16.7
some_data [ 'heat_index' ] = 77
其中some_data将具有它应该得到的xml的值。我也尝试了minidom和ElementTree,但是首先获取xml时出现同样的问题
答案 0 :(得分:0)
您是否尝试过使用标头并请求XML?
headers = {
"Accept":"application/xml;q=0.9,"
}
xml = urllib2.urlopen('http://weatherlink.com/xml.php?user=blah&pass=blah', headers=headers)
在Chrome中执行登录并使用开发人员工具,尤其是网络查看器,查看浏览器中发生的情况,然后尝试通过urllib2进行复制