たとえば、入力プライマリ URL として取る python スクリプトを作成したいと思います:
https://stackoverflow.com/
そして、すべてのページを再帰的に処理し、サイトのすべてのページ (ノード) の有向グラフを作成します。ノード a (ページ a) にノード b (ページ b) へのリンクが存在する場合にのみエッジが設定されます。私はそのようなものがあると思いますが、私はグーグルで見つけられませんでしたwget
.
1314 次
1 に答える
2
基本的な python を使用してそのようなツールを構築するために必要なものへのポインターのみを提供します。
- まず、 urls を開くにはurllibが必要です。
- 次に、正規表現または BeautifulSoup を使用して、ページ内のリンクを見つけることができます。前者は CPU 負荷が低くなりますが、精度は低くなります。後者はあいまいな HTML パーサーです (欠陥のある HTML を受け入れることを意味します)。
- 次に、クロールする URL の に URL を保存できます。
list
ページで見つかった各リンクについて、(無限サイクルを避けるために) 既にクロールしたかどうかを確認する必要があります。set
- グラフを作成するには、クロールする新しいページごとに新しいノードを作成します。見つけた各リンクは、新しいエッジです。
または、クロール用に作成された Python ライブラリであるScrapyを使用できます。
于 2012-05-23T13:51:19.637 に答える