-1

如何找到网站下的所有目录和链接?请注意,没有从主页到所有其他页面的链接。例如,如果我有一个像 users.company.com 这样的域,每个用户都会有一个类似 users.company.com/john、users.company.com/peter 等的链接。但我不知道有多少用户什么是所有链接,我想强力检查所有链接。如果我想编写一个 python 脚本来完成这项工作,我可以从哪里获得在 python 中开发它的信息?

4

3 回答 3

1

由于您没有任何从主页指向其他页面的链接。您拥有的唯一信息是主页的 URL 和用于访问用户的 URL 模式。

然后我看到它的唯一可能性是使用名称字典,或所有可能的长度有限的字符串排列。然后访问其中的每一个。

查看http://docs.python.org/2/library/urllib.html以了解如何创建 HTTP 请求/打开 URL。

然后编写一个循环遍历所有名称/字符串排列并调用 URL。

您可能会考虑同时执行此操作,这应该相对容易实现:http ://en.wikipedia.org/wiki/Embarrassingly_parallel

于 2013-01-30T08:44:10.120 回答
0

您可以为此目的使用第三方工具,而不是先编写 python 脚本。

1)第一步创建目标网站的镜像,然后解析它。您可以使用“wget -mk http://www.targetwebsite.com ”创建目标网站的镜像

http://www.gnu.org/software/wget/

比你可以用python解析镜像代码。

2) Google dorking 示例查询:

site:stackoverflow.com
site:stackoverflow.com intitle:"index of"
site:stackoverflow.com ext:html ext:php

它适用于没有 robots.txt 文件的路径。

于 2013-01-30T08:48:53.950 回答
0

检查“机械化”python 模块。使用起来非常方便。这些页面对我帮助很大 - 信息的重要来源: http://stockrt.github.com/p/emulating-a-browser-in-python-with-mechanize/ https://scraperwiki.com/views/python_mechanize_cheat_sheet /编辑/

只是为了让您了解“机械化”可以做什么,这是一个简单的函数,它将列出来自给定 url 的所有链接:

import mechanize

def test():
    headers = ('User-Agent','Mozilla/4.0')
    url = 'http://www.google.com'

    browser = mechanize.Browser()
    browser.addheaders=[headers]

    response = browser.open(url)
    for link in browser.links():
        print link

if __name__ == '__main__':
    test()
于 2013-01-30T11:07:04.943 回答