wgetを使用してindex.htmlでURLリストを作成するには?

wgetを使用してindex.htmlでURLリストを作成するには?

したがって、wgetファイルを再帰的にダウンロードする機能がありますが、一度に1つのファイルのみをダウンロードします。

ディレクトリURLを渡し、再帰で見つかった各URLのダウンロードプロセスを作成したいと思います。

私が考えたアプローチの1つは、何とかwget見つけたURLを印刷してから、そのURLを別のインスタンス(などを介してwget)に供給することです。wget URL_1 &wget URL_2 &

どんなアイデアがありますか?

ベストアンサー1

私はこれについて考えましたが、wgetが作業に最適なツールであるとは確信していません。

2022年に同様のツールを使用してこれを行う方法は次のとおりです。子犬HTML解析用に特別に設計されています(子犬の場合、CSSセレクター):

wget -q -O- https://ubuntu.com/download/alternative-downloads \
  | pup 'a[href$=".torrent"] attr{href}' \
  | aria2c -d ~/Downloads -i -

また、見ることができます

  • シデル

    • -e/オプション--extractの使用XPathセレクターデフォルトでは、--css '<selector>'またはCSSセレクタをサポートしています。--extract 'css("<selector>")'
    • curlインターネットリソースに直接アクセスできますが、マイコンピュータよりも少し遅いです。
    • 非常に寛容なパーサー。間違ったHTMLの場合でも、文句はほとんど見られません。
    • 例:
      xidel https://www.videlibri.de/xidel.html \
            -e '//a[ends-with(@href,"/download")]/@href'
      
      # faster, for some reason; don't forget the '-' (read from stdin)!
      curl -q https://www.videlibri.de/xidel.html \
        | xidel -e '//a[ends-with(@href,"/download")]/@href' -
      
      # same as above, using CSS selectors + XPath for the attribute
      curl -q https://www.videlibri.de/xidel.html \
        | xidel -e 'css("a[href$=/download]")/@href' -
      
  • xmlstarlet

    • XPathセレクタの使用
    • 〜しなければならない正しい形式のXML / XHTMLを入力として使用してください。
      • パイプを通してxmlstarlet fo -H -R(再びrmat、予想される入力は次のとおりです。時間TML、一度試してくださいエラー後の回復)は、ほとんどのウェブサイトを修正する必要があります。
    • 例:
      # NB: my version of xmlstarlet doesn't support XPath 'ends-with'
      curl -s https://ubuntu.com/download/alternative-downloads \
        | xmlstarlet fo -H -R 2>/dev/null \
        | xmlstarlet sel -t -v '//a[contains(@href, ".torrent")]/@href' -n
      
  • アリア2

おすすめ記事