Python-从节点获取信息

Python-从节点获取信息,python,Python,我一直在尝试从站点获取信息,最近发现该信息存储在childNodes[0].data中。 我是python新手,从未尝试过针对网站编写脚本 有人告诉我,我可以创建一个tmp.xml文件,并从中提取信息,但由于它只获取源代码(我认为这对我没有用),所以我没有得到任何结果 当前代码: response = urllib2.urlopen(get_link) html = response.read() with open("tmp.xml", "w") as f: f.write(html)

我一直在尝试从站点获取信息,最近发现该信息存储在childNodes[0].data中。 我是python新手,从未尝试过针对网站编写脚本

有人告诉我,我可以创建一个tmp.xml文件,并从中提取信息,但由于它只获取源代码(我认为这对我没有用),所以我没有得到任何结果

当前代码:

response = urllib2.urlopen(get_link)
html = response.read()
with open("tmp.xml", "w") as f:
    f.write(html)
dom = parse("tmp.xml")
name = dom.getElementsByTagName("name[0].firstChild.nodeValue")
我还尝试过使用“dom=parse(html)”,但没有获得更好的结果。

getElementsByTagName()
采用元素名,而不是表达式。您正在加载的页面中不太可能有包含
标记的标记

如果您正在加载HTML,请使用HTML解析器,如。对于XML,使用比使用(过时且非常冗长的)DOM API容易得多

这两种方法都不需要先将源代码保存到磁盘,两种API都可以直接从
urllib2
返回的响应对象进行解析

# HTML
import urllib2
from bs4 import BeautifulSoup

response = urllib2.urlopen(get_link)
soup = BeautifulSoup(response.read(), from_encoding=response.headers.getparam('charset'))

print soup.find('title').text

# XML
import urllib2
from xml.etree import ElementTree as ET

response = urllib2.urlopen(get_link)
tree = ET.parse(response)

print tree.find('elementname').text