1

たとえば、入力プライマリ URL として取る python スクリプトを作成したいと思います: https://stackoverflow.com/ そして、すべてのページを再帰的に処理し、サイトのすべてのページ (ノード) の有向グラフを作成します。ノード a (ページ a) にノード b (ページ b) へのリンクが存在する場合にのみエッジが設定されます。私はそのようなものがあると思いますが、私はグーグルで見つけられませんでしたwget.

4

1 に答える 1

2

基本的な python を使用してそのようなツールを構築するために必要なものへのポインターのみを提供します。

  • まず、 urls を開くにはurllibが必要です。
  • 次に、正規表現または BeautifulSoup を使用ページ内のリンクを見つけることができます。前者は CPU 負荷が低くなりますが、精度は低くなります。後者はあいまいな HTML パーサーです (欠陥のある HTML を受け入れることを意味します)。
  • 次に、クロールする URL の に URL を保存できます。listページで見つかった各リンクについて、(無限サイクルを避けるために) 既にクロールしたかどうかを確認する必要があります。set
  • グラフを作成するには、クロールする新しいページごとに新しいノードを作成します。見つけた各リンクは、新しいエッジです。

または、クロール用に作成された Python ライブラリであるScrapyを使用できます。

于 2012-05-23T13:51:19.637 に答える