在Python中,如何检查两个不同链接是否指向同一页面?

3 投票
2 回答
2761 浏览
提问于 2025-04-16 18:52

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

撰写回答