0

このリンクを考えると:

http://www.argenteam.net/movie/40749/American.Reunion.%282012%29

jsoupを使用して、そのページでこのようなすべてのリンクを取得しようとしています。

<a href="ed2k://|file|American.Reunion.UNRATED.DVDRip.XviD.CD1-COCAIN.avi|734205866|C92C5188830C4F740C69521F67337A45|h=Z5F72XEXRGGXBCMSOR6NS3IBCTFIHQLL|/">CD1</a>

問題は、この種のリンクを取得できないことです。極端なことをして、ページ上のすべてのリンクを取得するために次のコードを試しましたが、この「a[href]」はリストにありません。

doc = Jsoup.connect("http://www.******.net/movie/40749/American.Reunion.%282012%29").get();

Elements ed2k = doc.select("a[href]");
    for (Element emule:ed2k){
            String mula = emule.attr("href");
           }

値「ed2k」で始まるすべてのリンクを取得するにはどうすればよいですか?それらはCSS「div.pmoviediv.releasesdiv.release-infodiv.section div.links div a」にありますが、何が問題なのかわかりません。私の実装では「見えません」。ソースHTMLコードを調べると、それは奇妙に見えず、すべてのブラウザがその種のリンクを非常にうまく管理できます。では、なぜ私はj​​soupとcssセレクターで解析してそれらに到達しないのですか?ノードと兄弟を使用する必要がありますか?

前もって感謝します。

ソリューションによる最終編集:

ウェブサイトは必要なリンクを表示するためにCookieを要求していました。そのCookieは実際のブラウザを使用してのみ生成されるため、Jsoupはすべての情報を取得できず、実際のページの縮小バージョンに接続していました。Jsoup接続で特定のCookieを送信すると、問題が解決しました。例:

doc = Jsoup.connect(your url here).cookie(cookie name, cookie value).get();
4

1 に答える 1

4

ご指定の URL のソースにそのようなリンクはありません。

一般に、次の属性値選択構文を使用して、求めていることを行うことができます。

[attr^=valPrefix] 
elements with an attribute named "attr", and value starting with "valPrefix"    
Example: a[href^=http:]

( http://jsoup.org/apidocs/org/jsoup/select/Selector.htmlより)

于 2012-07-01T20:55:15.200 に答える