このリンクを考えると:
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コードを調べると、それは奇妙に見えず、すべてのブラウザがその種のリンクを非常にうまく管理できます。では、なぜ私はjsoupとcssセレクターで解析してそれらに到達しないのですか?ノードと兄弟を使用する必要がありますか?
前もって感謝します。
ソリューションによる最終編集:
ウェブサイトは必要なリンクを表示するためにCookieを要求していました。そのCookieは実際のブラウザを使用してのみ生成されるため、Jsoupはすべての情報を取得できず、実際のページの縮小バージョンに接続していました。Jsoup接続で特定のCookieを送信すると、問題が解決しました。例:
doc = Jsoup.connect(your url here).cookie(cookie name, cookie value).get();