如果所有网页都有指定的链接,__iter__
做到这一点,但它没有得到任何接近,可能有一个原因,我在oop很差,但我仍然认为我必须有另一种测试链接的方法,而不是点击它们逐个录制。
答案 0 :(得分:1)
虽然该工具位于Perl中,您是否已查看linklint?它是一个完全符合您需求的工具。它将解析HTML文档中的链接,并告诉您它们什么时候坏了。
如果您尝试从Python脚本自动执行此操作,则需要将其作为子流程运行并获取结果,但我认为它可以为您提供所需的内容。
答案 1 :(得分:1)
我只会使用标准shell命令:
grep --files-without-match
扫描生成的文件以查找这些文件
没有联系链接。如果您使用的是Windows,则可以安装cygwin或安装win32 ports这些工具。
use wget to detect broken links
链接嵌入信息:当我们发布一个公共网站时,总是一个好主意来运行一个 蜘蛛就可以了,这样我们就可以查看破页和坏网址。 WGET有一个递归下载命令,并与--spider选项混合使用 它只会抓取网站。
1) Download WGET Mac: http://www.statusq.org/archives/2008/07/30/1954/ Or use macports and download wget. Windows: http://gnuwin32.sourceforge.net/packages/wget.htm Linux: Comes built in ---------------------------------------- 2) In your console / terminal, run (without the $): $ wget --spider -r -o log.txt http://yourdomain.com 3) After that just locate you "log.txt" file and at the very bottom of the file will be a list of broken links, how many links there are, etc.
答案 2 :(得分:0)
究竟是什么“测试链接”?
如果这意味着他们导致非4xx URI,我担心你必须访问它们。
对于给定链接的存在(如“联系人”),您可以使用xpath查找它们。
答案 3 :(得分:0)
你可以(作为另一种选择),使用BeautifulSoup解析页面上的链接,并尝试通过urllib2检索它们。