-1

Web サイトの下にあるすべてのディレクトリとリンクを見つけるにはどうすればよいですか? ホームページから他のすべてのページへのリンクはないことに注意してください。たとえば、users.company.com のようなドメインがあり、各ユーザーに users.company.com/john、users.company.com/peter などのリンクがあるとします。しかし、そこに何人のユーザーがいるかわかりません。すべてのリンクは何ですか。総当たりですべてのリンクをチェックしたいです。この仕事をするための python スクリプトを書きたい場合、これを python で開発するための情報はどこで入手できますか?

4

3 に答える 3

1

ホームページから他のページへのリンクがないため。あなたが持っている唯一の情報は、ホームページの URL と、ユーザーへのアクセスに使用される URL パターンです。

その場合、名前の辞書を使用するか、長さが制限されたすべての可能な文字列順列を使用することが唯一の可能性です。そして、それらのすべてにアクセスします。

HTTP リクエストの作成方法や URL を開く方法については、http://docs.python.org/2/library/urllib.html を参照してください

次に、すべての名前/文字列の順列を反復処理して URL を呼び出すループを記述します。

これを同時に行うことを検討することもできますが、これは比較的簡単に達成できるはずです: http://en.wikipedia.org/wiki/Embarrassingly_parallel

于 2013-01-30T08:44:10.120 に答える
0

最初に Python スクリプトを作成する代わりに、その目的のためにサードパーティ ツールを使用できます。

1) 最初のステップでは、対象の Web サイトのミラーを作成し、それを解析します。「wget -mk http://www.targetwebsite.com」でターゲット Web サイトのミラーを作成できます。

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

Pythonでミラーコードを解析できるよりも。

2) Google doking クエリの例:

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

'mechanize' python モジュールを確認してください。とても使いやすいです。このページは私を大いに助けました - 素晴らしい情報源: http://stockrt.github.com/p/emulating-a-browser-in-python-with-mechanize/ https://scraperwiki.com/views/python_mechanize_cheat_sheet /編集/

'mechanize' ができることの味を示すために、指定された 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 に答える