-1

我正在尝试阅读亚马逊的特定页面。

req = urllib2.Request('http://www.amazon.com/Upright-Citizens-Brigade-Comedy-Improvisation/dp/0989387801/ref=lp_1_1_6/175-0367440-7496156?ie=UTF8&qid=1376827779&sr=1-6%20buybox._V181901516_.png)%20center%20top%20no-repeat;')
req.add_header('User-agent', 'Mozilla/5.0\
            (Windows NT 6.2; WOW64) AppleWebKit/537.11 (KHTML, like Gecko)\
            Chrome/23.0.1271.97 Safari/537.11')
response=urllib2.urlopen(req)
html = response.read()
print html

我正在尝试从页面源代码中显示的新项目“25.00 美元”中读取价格,但该部分未显示在 html 打印中。我做错了什么?

4

1 回答 1

2

您应该使用 html 解析器,例如lxmlBeautifulSoup。这是一个使用示例lxml

parser = etree.HTMLParser()
root = etree.fromstring(html, parser=parser)

print root.xpath('//td[@class="a-text-right dp-new-col"]/a/span/text()')[0]

印刷:

$25.00

请注意,所需的标记及其值是使用xpath表达式找到的:

XPath,即 XML 路径语言,是一种用于从 XML 文档中选择节点的查询语言。

另见:

希望有帮助。

于 2013-08-18T13:51:40.907 回答