在Python中,如何检查两个不同链接是否指向同一页面?
2 个回答
2
光从网址上是看不出这些内容的,显而易见。
你可以获取页面内容并进行比较,但这样的话,你需要用聪明的方法来判断两个页面是否相同。比如说,它们可能都指向同一篇文章,但广告可能不同,或者相关的文章会根据其他因素而变化。
设计你的程序时,要让判断页面是否匹配的标准能够轻松替换,甚至可以动态调整。你可以多尝试几种方法,直到找到一个不会出错的标准。比如说,对于一个新闻页面,你可以尝试找出标题。
12
在使用 urllib2.urlopen()
得到的结果上调用 geturl()
。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