この種のclihtml解析は、まさに私がXidelを作成した目的です。(そして、正規表現の代わりにxpathを使用するので、クトゥルフを呼び出すことはありません...(遅すぎる、彼はすでにそこにいます、私はちょうど私のバスルームに行きました、そしてこの本当に奇妙な音がありました...))
IDが必要な場合
それらを使用して、対応するWebページを解析します。
IDを明示的に抽出する代わりに、リンクをたどることができます。
例:リンクされているすべてのページのタイトルを印刷する
xidel 'http://subtitle.co.il/browsesubtitles.php?cs=movies' -f '//a[starts-with(@href,"list.php")]' -e //title
//a
宛先のすべてのリンクをたどることによってstarts-with(@href,"list.php")
。(-f
リンクをたどることを意味します-e
。:はデータを抽出することを意味します。)
または、ビューのURLで大きなテキストブロックを抽出したい場合:(言語がわからない、何を言っているのかわからない...)
xidel 'http://subtitle.co.il/browsesubtitles.php?cs=movies' -f '//a[starts-with(@href,"list.php")]/replace(@href, "list.php[?]mid=", "view.php?id=")' -e 'css("#profilememo")'
または、本当に個別にIDが必要な場合は、最初にIDを抽出できます。
xidel 'http://subtitle.co.il/browsesubtitles.php?cs=movies' -e '//a[starts-with(@href,"list.php")]/substring-after(@href,"mid=")' -f '//a[starts-with(@href,"list.php")]' -e //title
または、一時変数links
を使用してすべてのリンクを格納する方が簡単です。
xidel 'http://subtitle.co.il/browsesubtitles.php?cs=movies' -e '(links:=//a[starts-with(@href,"list.php")])[0]' -e '$links/substring-after(@href,"mid=")' -f '$links' -e //title