例如,这两个链接指向同一位置:
http://www.independent.co.uk/life-style/gadgets-and-tech/news/2292113.html
我如何在python中检查这个?
答案 0 :(得分:12)
在geturl()
的结果上致电urllib2.urlopen()
。 geturl()
“返回检索到的资源的URL,通常用于确定是否遵循重定向。”
例如:
#!/usr/bin/env python
# coding: utf-8
import urllib2
url1 = 'http://www.independent.co.uk/life-style/gadgets-and-tech/news/chinese-blamed-for-gmail-hacking-2292113.html'
url2 = 'http://www.independent.co.uk/life-style/gadgets-and-tech/news/2292113.html'
for url in [url1, url2]:
result = urllib2.urlopen(url)
print result.geturl()
输出结果为:
http://www.independent.co.uk/life-style/gadgets-and-tech/news/chinese-blamed-for-gmail-hacking-2292113.html
http://www.independent.co.uk/life-style/gadgets-and-tech/news/chinese-blamed-for-gmail-hacking-2292113.html
答案 1 :(得分:2)
显然,仅仅从URL中辨别出来是不可能的。
你可以获取内容并进行比较,但我想你必须使用智能标准来决定两个页面是否相同 - 例如,两者都指向同一篇文章,但是随机广告不同,或相关文章根据其他因素而变化。
设计您的程序,以便轻松替换匹配页面的标准,甚至是动态替换,并尝试直到找到一个没有失败的标准 - 例如,对于报纸页面,您可以尝试查找标题。