Поиск всех ссылок на сайте

Как мне найти все каталоги и ссылки на сайте? Обратите внимание, что нет ссылки с домашней страницы на все другие страницы. Например, если у меня есть домен, подобный этому users.company.com, и у каждого пользователя будет ссылка, например users.company.com/john, users.company.com/peter и т. Д. Но я не знаю, сколько там пользователей. какие все ссылки и я хочу грубой силой проверить все ссылки. Если я хочу написать скрипт Python для этой работы, где я могу получить информацию для разработки этого на Python?

3 ответа

Решение

Поскольку у вас нет ссылок, указывающих с домашней страницы на другие страницы. Единственная информация, которую вы имеете, - это URL домашней страницы и шаблон URL, используемый для доступа к пользователям.

Единственная возможность, которую я вижу, это использовать словарь имен или все возможные строковые перестановки ограниченной длины. И затем доступ к каждому из них.

Загляните на http://docs.python.org/2/library/urllib.html, чтобы узнать, как можно создавать HTTP-запросы / открывать URL-адреса.

Затем напишите цикл, который перебирает все имена / строковые перестановки и вызывает URL.

Вы могли бы рассмотреть возможность сделать это одновременно, чего должно быть относительно легко достичь: http://en.wikipedia.org/wiki/Embarrassingly_parallel

Вместо того, чтобы сначала писать скрипт на Python, вы можете использовать сторонние инструменты для этой цели.

1) Первый шаг - создать зеркало целевого веб-сайта, а затем разобрать его. Вы можете создать зеркало целевого веб-сайта с помощью "wget ​​-mk http://www.targetwebsite.com/"

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

Чем вы можете анализировать зеркальные коды с помощью Python.

2) Примеры запросов Google dorking:

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

Он будет работать правильно для путей, у которых нет файла robots.txt.

Проверьте "механизировать" модуль Python. Это очень удобно для использования. Эти страницы мне очень помогли - отличный источник информации: http://stockrt.github.com/p/emulating-a-browser-in-python-with-mechanize/ https://scraperwiki.com/views/python_mechanize_cheat_sheet/edit/

Просто, чтобы дать вам представление о том, что может делать механизм, вот простая функция, которая выведет список всех ссылок с данного 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()
Другие вопросы по тегам