Curlを使用してWebページをダウンロードし、それをw3mにパイプして、テキストとリンク以外のすべてのコンテンツから削除するスクリプトが必要です。
W3mの-Tオプションに、1つのcontent-typeだけでなく、どのように指定することは可能ですか?
私の質問をもう少し明確にするために、ここに例があります:
curl --user-agent "Mozilla/4.0" https://askubuntu.com/questions -s | w3m -dump -T text/html
ubuntuの質問ページからのテキストのみを返しますが、リンクはありません。 w3mがそれを実行できない場合、テキストとリンクを同時にスクレイピングできる他のツールはありますか?
ええと、私自身で大規模な調査を行った後では、そのようなツールはないと思います...
しかし、それだけの価値があるため、私はhxnormalizeを発見しました。これにより、必要な特定のスクリプトを作成することができました。これは比較的単純な問題です。
lynx -dump
を使用できます。各リンクの前に[16]
のような番号が含まれ、ドキュメントの最後にURLのリストが含まれます。
パイプの使用については、lynx -dump -force_html -stdin
を使用できます。ただし、元のURLがわからないため、相対リンクは正しく処理されません。
したがって、最善の方法は、個別のcurl
なしでlynx -dump http://.../
を実行することです。