これを行うプログラムがあると確信していますが、見つからないため、これが私を狂わせます。
ちなみに私はARM / Raspberryを使用する予定なので、残念ながらXidel
誰かが自分でコンパイルする正しい方向を知らせるのに十分親切でない限り(可能であれば)これはオプションではありません。私もそれを試しましたが、w3m
ページを別のファイルにダンプしてフォーマットするのが本当に役に立つかどうかはわかりません。しかし、私が間違っていることをもう一度証明してください!
デフォルトでは、https URLを読み、HTMLをBashから簡単にアクセスできるように解析し、最後にデータベースにいくつかの値を保存する必要があります。
を使用してほとんどの作業を簡単に完了しましたが、grep
必要なデータが正しい形式でない場合は、詰まります。例をご覧ください。
<h1>Title</h1> #easy to extract Title only with grep | sed
<h1>
Title
</h1> #no way
ここで問題を見ることができます。私が必要とするのは、現在持っている「ランダム」形式の出力ではなく、ページ全体を読み、一連のコンテンツを提供するスクリプトソリューションです。
みんなありがとう
答え1
フィルタファイルを使用します。tidy
、各最上位タグを別々の行に配置し、このタイプのスクリプト(Perlなど)に適したものを使用してタグを処理します。 sed
変更が非常に簡単な場合に最も便利です。
たとえば、このページの一部(フィルタリング後)は次のようになります(tidy -wrap 4096
改行を減らすために使用されます)。
<body class="question-page new-topbar">
<noscript>
<div id="noscript-padding"></div>
</noscript>
<div id="notify-container"></div>
<div id="overlay-header"></div>
<div id="custom-header"></div>
<div class="topbar">
<div class="topbar-wrapper">
<div class="js-topbar-dialog-corral">
<div class="topbar-dialog siteSwitcher-dialog dno">
<div class="header">
<h3><a href="//unix.stackexchange.com">current community</a></h3>
</div>
<div class="modal-content current-site-container">
<ul class="current-site">
タグ"a"
などはインラインですが、ページ構造が使いやすくなります。
このページには「ダウンロード」を使用しましたlynx -source
。ただし、利用可能なツールはいくつかあり、wget
このcurl
目的でより一般的に使用されます。
答え2
試してみてください子犬。つまり、OSXの場合:
brew install https://raw.githubusercontent.com/EricChiang/pup/master/pup.rb
CSS3セレクタと抽出器を使用してプロパティから値を取得できますhref
。