0

別の質問への回答では、Android プロジェクトで JSoup を使用して、Web 呼び出しに対する次の応答を解析するのが最善であることが示唆されました。

var OX_abced445 = '';
OX_abced445 += "<"+"a href=\'http://the.server.url/openx/www/delivery/ck.phpoaparams=2__bannerid=29__zoneid=3__cb=e3efa8b703__oadest=http%3A%2F%2Fsomesite.com\'target=\'_blank\'>This is some sample text to test with!<"+"/a><"+"div id=\'beacon_e3efa8b703\'style=\'position: absolute; left: 0px; top: 0px; visibility:hidden;\'><"+"img src=\'http://the.server.url/openx/www/delivery/lg.php?bannerid=29&amp;campaignid=23&amp;zoneid=3&amp;loc=1&amp;cb=e3efa8b703\' width=\'0\'height=\'0\' alt=\'\' style=\'width: 0px; height: 0px;\' /><"+"/div>\n";
document.write(OX_abced445);

この応答から 2 ビットを抽出し、2 つの文字列に格納する必要があります。また、応答は常に上記の形式になることも知っています。href=\'href url は必要ですが、img src url は必要ないので、との間のすべてを探す必要があると思います'。また、ターゲット テキストを抽出する必要があります。と の間にThis is some sample text to test with!カプセル化されます。JSoup をセットアップして URL に接続し、応答を取得しましたが、セレクターの構文に問題があります。アドバイスをいただければ幸いです。_blank\'><"+"/a>

4

1 に答える 1

1

私は詳細を完全には理解していないので、あなたの質問から少し抽象化します。

HTMLドキュメントにハイパーリンクが1つある場合は、次を使用してリンクとテキストを選択できます

Element link_el = doc.select("a").first();
String href_url = link_el.attr("href");
String target_text = link_el.text();

HTML ドキュメントに多くのリンクが含まれている場合は、含まれているクラスに対して getElementsByClass を使用して必要なビットを選択することができます。

Element related_el = doc.getElementsByClass("関連クラス名").first(); 要素 link_el.select("a").first();

もちろん、多くのリンクがある場合は、 doc.select("a") を反復処理する必要があります

于 2013-05-29T12:39:11.730 に答える