web-dev-qa-db-ja.com

Webページからテキストとリンクを取得する

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がそれを実行できない場合、テキストとリンクを同時にスクレイピングできる他のツールはありますか?

3
S.R.

ええと、私自身で大規模な調査を行った後では、そのようなツールはないと思います...

しかし、それだけの価値があるため、私はhxnormalizeを発見しました。これにより、必要な特定のスクリプトを作成することができました。これは比較的単純な問題です。

1
S.R.

lynx -dumpを使用できます。各リンクの前に[16]のような番号が含まれ、ドキュメントの最後にURLのリストが含まれます。

パイプの使用については、lynx -dump -force_html -stdinを使用できます。ただし、元のURLがわからないため、相対リンクは正しく処理されません。

したがって、最善の方法は、個別のcurlなしでlynx -dump http://.../を実行することです。

1
jpa