私はこれをしばらく見ましたが、まだ答えが見つかりませんでした。
curl
サーバーにHTTP POSTリクエストを送信するコマンドがあり、次のようにスクリプト "tmg.sh"を作成しました。
#! /bin/bash
echo "There you go:"
sleep 3s
curl "http://tmg.xunta.gal/consulta-tarxeta?blah_blah_blah&numero=$1"
echo "Thanks!"
その後、端末に次のコマンドを書きました。
chmode u+x ./tmg.sh
これは、何らかの理由でルートアカウントでこれを実行しないと、次のものが返されるためです。bash: ./tmg.sh: Permission denied
しかし、とにかくこの作業を完了したら、次のように書きます。
./tmg.sh NUMBER_GOES_HERE
この数字は変数であり、次の答えを取得します。
There you go:
<html code not relevant>
<div class="infoContido"><p>Non hai ningunha recarga para o número de tarxeta introducido.</p></div>
<html code not relevant>
Thanks!
ところで質問があります。どうやって入手できますか?完全なHTMLコードの一部?つまり、私は次のウェブサイトの一部だけを望んでいます。
Non hai ningunha recarga para o número de tarxeta introducido.
また、私が受け取ったときに参考にしたいと思います。いっぱいページがたくさんあります<p>
。<div>
...これは可能ですか?それでは、この部分を得るためにスクリプトをどのように編集する必要がありますか?
本当に感謝し、良い一日を過ごしてください!
答え1
目的のテキストを識別する方法は説明されていません。
テキストだけが必要な場合は、以下を試してくださいlinks
。
#! /bin/bash
echo "There you go:"
sleep 3s
links -dump "http://tmg.xunta.gal/consulta-tarxeta?blah_blah_blah&numero=$1"
echo "Thanks!"
行識別子が「infoContido」の場合、これは解決策かもしれません。
#! /bin/bash
echo "There you go:"
sleep 3s
curl "http://tmg.xunta.gal/consulta-tarxeta?blah_blah_blah&numero=$1" | grep infoContido | cut -d\> -f2
echo "Thanks!"
答え2
divオブジェクトのクラスを常にに設定するには、infoContido
次のものを使用できます。子犬次のコマンドを使用します。
curl "http://tmg.xunta.gal/consulta-tarxeta?blah_blah_blah&numero=$1" | pup "div.infoContido"
答え3
カール出力を新しいファイルに送信します。たとえば、上記の状況です。
curl "http://tmg.xunta.gal/consulta-tarxeta?blah_blah_blah&numero=$1" | tee -a /var/tmp/mycurl
今やるべきことは、この新しいファイルから行をgrepすることだけです。
cat /var/tmp/mycurl | grep Non hai ningunha recarga para o número de tarxeta introducido.