【发布时间】:2014-08-22 21:22:44
【问题描述】:
我正在尝试使用 LXML 和 Python 从页面中获取值。
我遵循了一些有效的基本示例。但我很难从一个相当复杂的(至少对我而言)网页中获取文本。
我想从这个页面获取关注者的数量: http://twitter.com/aberdeencc
我想要追随者的确切值(在撰写本文时是 10,623 - 不是显示的 10.6K。确切的值仅显示为工具提示样式的鼠标悬停。
查看本节中的页面代码:
<a class="ProfileNav-stat ProfileNav-stat--link u-borderUserColor u-textCenter js-tooltip js-openSignupDialog js-nonNavigable u-textUserColor" data-nav="followers"
href="/AberdeenCC/followers" data-original-title="10,623 Followers">
<span class="ProfileNav-label">Followers</span>
<span class="ProfileNav-value" data-is-compact="true">10.6K</span>
</a>
我的代码是
from lxml import html
import requests
page = requests.get('http://twitter.com/aberdeencc')
tree = html.fromstring(page.text)
followers = tree.xpath('//span[@class="ProfileNav-stat ProfileNav-stat--link
u-borderUserColor u-textCenter js-tooltip js-openSignupDialog js-nonNavigable
u-textUserColor"]/text()')
print 'Followers: ', followers
但这会返回一个空列表。
(我知道单个值不需要列表,但我正在使用现有代码)
感谢您的指点
瓦蒂
【问题讨论】:
-
标签是“a”,但您的 xpath 是“span”。
-
为什么不用API?用法见这个问答:stackoverflow.com/questions/17450952/…