【发布时间】:2014-04-05 12:27:25
【问题描述】:
我正在使用 python 脚本从网站 (http://www.opensiteexplorer.org/) 获取特定文本。例如尝试这个搜索:http://www.opensiteexplorer.org/links?site=www.google.com
我想获得“页面授权”和“根域”并将它们过滤掉。我正在使用 lxml。
我正在使用此代码:
response = br.open( 'http://www.opensiteexplorer.org/links?site=' + blog)
tree = html.fromstring(response.read())
authority = int (tree.xpath('//span[@class="metrics-authority"]/text()')[1].strip())
if authority>1:
print blog
print 'This blog is ready to be registered'
print authority
f.write(blog +' '+ str(authority) +'\n')
我在这里过滤大于 1 的 PA,我还想过滤大于 5 的链接根域。我该怎么做?
【问题讨论】:
-
x/text()在 XPath 中几乎总是一个坏主意:更喜欢string(x)。 -
第四个div.has-tooltip中不是“根域”信息吗?
-
@larsmans 感谢您提供的信息。我真的是python的新手,我不知道。那么你能给我举个例子来说明这将如何实现吗?我猜是这样的:
authority = tree.xpath('string(class="metrics-authority")')[1].strip() -
@Fury 例如,如果你搜索 [opensiteexplorer.org/links?site=www.google.com] 我喜欢从那里刮掉 680k 的数字。我怎样才能得到它?
标签: python html xpath web-scraping lxml