0

これは私のコードですが、HTML 文字列の有効な画像を取得できないことがあります。

ループ内のすべての画像変数をログに記録すると、有効な画像が存在することがわかりますが、私のコードでは別の画像が使用されていることがあり、有効でないか、関数が null 画像を返します。

どうしたの?ありがとう

    private String getFirstImage(String htmlString){

    if(htmlString==null) return null;

    String img ="";
    Document doc = Jsoup.parse(htmlString);
    Elements imgs = doc.getElementsByTag("img");



     for (Element imageElement : imgs) {
         if(imageElement!=null){
         //for each element get the srs url
         img = imageElement.absUrl("src");
            if( !img.contains("doubleclick.net") &&
                !img.contains("feedburner.com") &&
                !img.contains("feedsportal.com") &&
                !img.contains("ads"))

                    return img;
         }
     }

     return null;
}

/ * ** * *編集 --> 例

htmlString <p><a rel="attachment wp-att-182120" href="http://apple.hdblog.it/2013/09/08/arrivano-le-prime-immagini-rubate-della-scheda-logica-di-iphone-5c/logic5c/"><img height="390" alt="logic5c" width="520" src="http://apple.hdblog.it/wp-content/uploads/2013/09/logic5c-520x390.jpg"></a> <p>Nella rubrica “componenti leaked quotidiani” fa arrivo la scheda logica di iPhone 5C, grazie a diversi scatti fotografici diffusi tramite il social network cinese Weibo. Ormai sembra assodato che per Apple sia impossibile limitare le fughe di notizie quando sono previsti lanci di prodotti a breve distanza dalla loro presentazione. Le fabbriche cinesi alle quali Apple si affida sono armai un “colabrodo” di foto e notizie, che fanno perdere un po’ la <em>magia</em> dei keynote Apple. <p>Purtroppo o per fortuna le fotografie in questione non rivelano molto riguardo l’hardware interno dell’iPhone 5C e lasciano spazio alle speculazioni. La disposizione dei fori delle viti e dei connettori nella parte superiore è uguale a <a href="http://apple.hdblog.it/2013/06/21/nuove-foto-mostrano-il-prossimo-iphone-5s-rumor/">quella già vista sulla scheda madre di iPhone 5S.</a> <p>Ma questo non è abbastanza per far pensare ad un hardware uguale tra iPhone 5S e 5C. Mentre il primo nasconderà sotto la sua scocca le novità ingegneristiche di Apple -leggi chip A7- l’iPhone 5C dovrebbe essere <strong>niente di più che un iPhone 5 con scocca in plastica</strong>. Ma siamo pronti a sorprese <a title="Ufficiale | Evento Apple il 10 settembre!" href="http://apple.hdblog.it/2013/09/03/da-confermare-evento-apple-10-settembre-secondo-nuove-informazioni/">per il prossimo 10 settembre</a>! <div><div></div></div>  <img height="1" width="1" src="http://rss.feedsportal.com/c/33112/f/537497/s/30f29429/sc/28/mf.gif" border="0"><br clear="all"><div><table border="0"><tr><td valign="middle"><a target="_blank" href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fapple.hdblog.it%2F2013%2F09%2F08%2Farrivano-le-prime-immagini-rubate-della-scheda-logica-di-iphone-5c%2F&t=Arrivano+le+prime+immagini+rubate+della+Scheda+Logica+di+iPhone+5C"><img src="http://res3.feedsportal.com/social/twitter.png" border="0"></a> <a target="_blank" href="http://share.feedsportal.com/share/facebook/?u=http%3A%2F%2Fapple.hdblog.it%2F2013%2F09%2F08%2Farrivano-le-prime-immagini-rubate-della-scheda-logica-di-iphone-5c%2F&t=Arrivano+le+prime+immagini+rubate+della+Scheda+Logica+di+iPhone+5C"><img src="http://res3.feedsportal.com/social/facebook.png" border="0"></a> <a target="_blank" href="http://share.feedsportal.com/share/linkedin/?u=http%3A%2F%2Fapple.hdblog.it%2F2013%2F09%2F08%2Farrivano-le-prime-immagini-rubate-della-scheda-logica-di-iphone-5c%2F&t=Arrivano+le+prime+immagini+rubate+della+Scheda+Logica+di+iPhone+5C"><img src="http://res3.feedsportal.com/social/linkedin.png" border="0"></a> <a target="_blank" href="http://share.feedsportal.com/share/gplus/?u=http%3A%2F%2Fapple.hdblog.it%2F2013%2F09%2F08%2Farrivano-le-prime-immagini-rubate-della-scheda-logica-di-iphone-5c%2F&t=Arrivano+le+prime+immagini+rubate+della+Scheda+Logica+di+iPhone+5C"><img src="http://res3.feedsportal.com/social/googleplus.png" border="0"></a> <a target="_blank" href="http://share.feedsportal.com/share/email/?u=http%3A%2F%2Fapple.hdblog.it%2F2013%2F09%2F08%2Farrivano-le-prime-immagini-rubate-della-scheda-logica-di-iphone-5c%2F&t=Arrivano+le+prime+immagini+rubate+della+Scheda+Logica+di+iPhone+5C"><img src="http://res3.feedsportal.com/social/email.png" border="0"></a></td><td valign="middle"></td></tr></table></div><br><br><a href="http://da.feedsportal.com/r/174726694371/u/49/f/537497/c/33112/s/30f29429/sc/28/rc/1/rc.htm"><img src="http://da.feedsportal.com/r/174726694371/u/49/f/537497/c/33112/s/30f29429/sc/28/rc/1/rc.img" border="0"></a><br><a href="http://da.feedsportal.com/r/174726694371/u/49/f/537497/c/33112/s/30f29429/sc/28/rc/2/rc.htm"><img src="http://da.feedsportal.com/r/174726694371/u/49/f/537497/c/33112/s/30f29429/sc/28/rc/2/rc.img" border="0"></a><
09-08 12:04:08.736: D/GoogleReader(539): image http://apple.hdblog.it/wp-content/uploads/2013/09/logic5c-520x390.jpg
09-08 12:04:08.747: D/GoogleReader(539): image http://rss.feedsportal.com/c/33112/f/537497/s/30f29429/sc/28/mf.gif
09-08 12:04:08.775: D/GoogleReader(539): image http://res3.feedsportal.com/social/twitter.png
09-08 12:04:08.775: D/GoogleReader(539): image http://res3.feedsportal.com/social/facebook.png
09-08 12:04:08.775: D/GoogleReader(539): image http://res3.feedsportal.com/social/linkedin.png
09-08 12:04:08.785: D/GoogleReader(539): image http://res3.feedsportal.com/social/googleplus.png
09-08 12:04:08.785: D/GoogleReader(539): image http://res3.feedsportal.com/social/email.png
09-08 12:04:08.785: D/GoogleReader(539): image http://da.feedsportal.com/r/174726694371/u/49/f/537497/c/33112/s/30f29429/sc/28/rc/1/rc.img
09-08 12:04:08.866: D/GoogleReader(539): image http://da.feedsportal.com/r/174726694371/u/49/f/537497/c/33112/s/30f29429/sc/28/rc/2/rc.img
09-08 12:04:08.866: D/GoogleReader(539): image http://da.feedsportal.com/r/174726694371/u/49/f/537497/c/33112/s/30f29429/sc/28/rc/3/rc.img
09-08 12:04:08.866: D/GoogleReader(539): image http://da.feedsportal.com/r/174726694371/u/49/f/537497/c/33112/s/30f29429/a2.img
09-08 12:04:08.916: D/GoogleReader(539): image http://pi.feedsportal.com/r/174726694371/u/49/f/537497/c/33112/s/30f29429/a2t.img
09-08 12:04:08.916: D/GoogleReader(539): image http://feeds.feedburner.com/~r/hd-blog/~4/4dvgXhJMTt8

この例では、「http://apple.hdblog.it/wp-content/uploads/2013/09/logic5c-520x390.jpg」は問題ありませんが、私のコードでは使用されていません:S ...わかりませんどうして

4

3 に答える 3

1

この例では、「http://apple.hdblog.it/wp-content/uploads/2013/09/logic5c-520x390.jpg」は問題ありませんが、私のコードでは使用されていません:S ...わかりませんどうして

フィルターを変更する必要があります

            !img.contains("ads"))

...

http://apple.hdblog.it/wp-content/uplo**ads**/2013/09/logic5c-520x390.jpg

リンクに「広告」が含まれており、フィルタリングされているようです。

たぶん次のようなもの:

            !img.contains("/ads/"))

なぜこのフィルターを追加するのですか? たぶん、私はこれよりも良い提案をすることができます.

于 2013-09-09T21:41:19.403 に答える
0

if ステートメントの後にスペースがあり、中かっこのない if ステートメントは次の行のみを読み取ります。内側の if ステートメントに括弧を追加してみてください。

于 2013-09-09T20:41:58.813 に答える