【发布时间】:2013-09-08 16:37:37
【问题描述】:
我正在尝试使用 Python 从页面中抓取一些文本。应该很容易,但lxml 似乎总是让我感到惊讶。这是我尝试过的:
>>> import lxml.html
>>> import urllib
>>> response = urllib.urlopen('http://www.codecademy.com/username')
>>> tree = lxml.html.parse(response)
>>> root = tree.getroot()
>>> root.find_class('stat-count')
[]
我很困惑。以下是在 html 中:<span class="stat-count">27</span>(同一个类有第二个跨度。)我无法想象为什么 find_class 方法对某些元素会以这种方式工作,而对其他元素则不行。
我愿意采取任何策略来获取这些span 标记中的第一个的内容。但我真的很想深入了解这样做的正确方法。我想使用lxml 会比使用正则表达式更快且更易于维护,但我似乎从来没有很好的体验。
【问题讨论】:
-
事实证明这段代码没有问题,但是由于某种原因,特定的用户名重定向到了登录页面。
标签: python css web-scraping lxml