如何测试外部 url 或 django 网站中的链接?

How to test external url or links in a django website?

您好,我正在使用 python 在 django 1.8 中构建一个博客网站 3. 在博客中,用户会写博客,有时会添加外部 links。 我想抓取这个博客网站的所有页面,并测试用户提供的每个外部 link 是否有效。

我该怎么做?我应该使用类似 python scrapy 的东西吗?

import urllib2
import fnmatch

def site_checker(url):

    url_chk = url.split('/')
    if fnmatch.fnmatch(url_chk[0], 'http*'):
        url = url
    else:
        url = 'http://%s' %(url)
    print url

    try:
        response = urllib2.urlopen(url).read()
        if response:
            print 'site is legit'
    except Exception:
    print "not a legit site yo!"

site_checker('google') ## not a complete url
site_checker('http://google.com') ## this works

希望这能奏效。 Urllib 将读取站点的 html,如果它不为空。这是一个合法的网站。否则它不是一个网站。我还添加了一个 url 检查以添加 http:// 如果它不存在。