我写了一个脚本来解析一些在传出链接存在上输入的 url。我真正需要的是检查输入的 url 是否存在于特定标签的传出链接列表中。我接下来做:
from lxml import html
import urllib2
url = 'http://businessinsider.com/'
Testurl = urllib2.urlopen('somequerryurl' +url).read()
tree = html.fromstring(Testurl)
#this check if specific <li class=""> id tag exists
Elements = tree.xpath('//div[@id="bd-cross"]//li[@class=""]')
try:
if len(Elements) > 0:
links = list(tree.xpath('//li[@class=""]//a/@href'))
if url in links:
print 'Yes'
else:
print 'No'
else:
print 'No'
except ValueError:
print 'Check your entered url!', url
例如,我有一个包含http://www.businessinsider.com/2007/11/blablabla的列表;http://www.businessinsider.com/2012/news/blablaba。脚本给了我“不”,因为 url(基于脚本)不在链接中 - 但正确的“是”。检查列表中是否存在属于同一域的 url 以获得正确结果的最佳方法是什么?