解析 blockquote 中的 p 标签
Parsing p tags in blockquote
我正在尝试访问 blockquote 中的一些 p 标签。在 html 的这一部分中,我试图找到具有以下功能的 p 标签;
font face="Verdana, Arial, Helvetica, sans-serif" size="2"
我的意思是最后 2 个 p 标签;
font face="Verdana, Arial, Helvetica, sans-serif" size="2"
<blockquote>
<p> </p>
<p><a href="../index.html"><img src=""align="right" border="0"></a></p>
<p><img src="baslik.gif" width="308" height="80"></p>
<a href="e.html">E</a> <a href="f.html">F</a> <a href="g.html">G</a>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">ABA ALTINDAN
SİK ÖLÇMEK: (d)-(ar.-türk. f.)-Yetersiz bilgilerle bir erkeğin cinsel gücünü
tartmaya çalışmak & Az bilgiyle bir şeyin aslını öğrenebileceğini sanmak.
"O kadar da leyla olunmaz ki canım. Sen kalk aba altından sik ölçmeye
soyun sonra da o siki görünce bas yaygarayı!"</font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">ABAROT GÖT: (d)-(o.k)-Çalım
satan, hava atan kişi. "Sen de amma abarot götmüşsün annem, gören de
sol taşaktan düştün sanır."</font></p>
<blockquote>
他们没有任何 id、标签等。
- 我怎样才能联系到他们?
- 处理这种元素最合适的方法是什么?
- 我可以通过行号来解析 html 吗?
如果您确定元素始终包含在您指定的字体标签中,那么您可以在 Jsoup CSS selectors:
中使用这些
String html = ""
+"<blockquote> "
+"<p> </p>"
+"<p><a href=\"../index.html\"><img src=\"\"align=\"right\" border=\"0\"></a></p>"
+"<p><img src=\"baslik.gif\" width=\"308\" height=\"80\"></p>"
+"<a href=\"e.html\">E</a> <a href=\"f.html\">F</a> <a href=\"g.html\">G</a> "
+"<p><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">ABA ALTINDAN "
+"SİK ÖLÇMEK: (d)-(ar.-türk. f.)-Yetersiz bilgilerle bir erkeğin cinsel gücünü "
+"tartmaya çalışmak & Az bilgiyle bir şeyin aslını öğrenebileceğini sanmak. "
+""O kadar da leyla olunmaz ki canım. Sen kalk aba altından sik ölçmeye "
+"soyun sonra da o siki görünce bas yaygarayı!"</font></p>"
+"<p><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">ABAROT GÖT: (d)-(o.k)-Çalım "
+"satan, hava atan kişi. "Sen de amma abarot götmüşsün annem, gören de "
+"sol taşaktan düştün sanır."</font></p>"
+"</blockquote>";
Document doc = Jsoup.parse(html);
Elements els = doc.select("blockquote p font[face=Verdana, Arial, Helvetica, sans-serif]");
for (Element e : els){
System.out.println(e.text());
}
这会打印两行:
ABA ALTINDAN SİK ÖLÇMEK: (d)-(ar.-türk. f.)-Yetersiz bilgilerle bir erkeğin cinsel gücünü tartmaya çalışmak & Az bilgiyle bir şeyin aslını öğrenebileceğini sanmak. "O kadar da leyla olunmaz ki canım. Sen kalk aba altından sik ölçmeye soyun sonra da o siki görünce bas yaygarayı!"
ABAROT GÖT: (d)-(o.k)-Çalım satan, hava atan kişi. "Sen de amma abarot götmüşsün annem, gören de sol taşaktan düştün sanır."
附录
我现在尝试使用您提供的URL:
String url = "http://ikra4.tripod.com/kadinargo/a.html";
Document doc= Jsoup.parse(new URL(url).openStream(), "ISO-8859-9", url);
Elements els = doc.select("blockquote p font[face=Verdana, Arial, Helvetica, sans-serif]");
for (Element e : els){
System.out.println(e.text());
}
请注意,该网站不会以正确的 HTTP header 指示所使用的编码进行响应。 JSoup 回退到您 运行 所在系统的编码,这可能是错误的。因此,您需要使用带有显式编码信息的 URL.openStream
来获取您想要的页面。
我正在尝试访问 blockquote 中的一些 p 标签。在 html 的这一部分中,我试图找到具有以下功能的 p 标签;
font face="Verdana, Arial, Helvetica, sans-serif" size="2"
我的意思是最后 2 个 p 标签;
font face="Verdana, Arial, Helvetica, sans-serif" size="2"
<blockquote>
<p> </p>
<p><a href="../index.html"><img src=""align="right" border="0"></a></p>
<p><img src="baslik.gif" width="308" height="80"></p>
<a href="e.html">E</a> <a href="f.html">F</a> <a href="g.html">G</a>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">ABA ALTINDAN
SİK ÖLÇMEK: (d)-(ar.-türk. f.)-Yetersiz bilgilerle bir erkeğin cinsel gücünü
tartmaya çalışmak & Az bilgiyle bir şeyin aslını öğrenebileceğini sanmak.
"O kadar da leyla olunmaz ki canım. Sen kalk aba altından sik ölçmeye
soyun sonra da o siki görünce bas yaygarayı!"</font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">ABAROT GÖT: (d)-(o.k)-Çalım
satan, hava atan kişi. "Sen de amma abarot götmüşsün annem, gören de
sol taşaktan düştün sanır."</font></p>
<blockquote>
他们没有任何 id、标签等。
- 我怎样才能联系到他们?
- 处理这种元素最合适的方法是什么?
- 我可以通过行号来解析 html 吗?
如果您确定元素始终包含在您指定的字体标签中,那么您可以在 Jsoup CSS selectors:
中使用这些String html = ""
+"<blockquote> "
+"<p> </p>"
+"<p><a href=\"../index.html\"><img src=\"\"align=\"right\" border=\"0\"></a></p>"
+"<p><img src=\"baslik.gif\" width=\"308\" height=\"80\"></p>"
+"<a href=\"e.html\">E</a> <a href=\"f.html\">F</a> <a href=\"g.html\">G</a> "
+"<p><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">ABA ALTINDAN "
+"SİK ÖLÇMEK: (d)-(ar.-türk. f.)-Yetersiz bilgilerle bir erkeğin cinsel gücünü "
+"tartmaya çalışmak & Az bilgiyle bir şeyin aslını öğrenebileceğini sanmak. "
+""O kadar da leyla olunmaz ki canım. Sen kalk aba altından sik ölçmeye "
+"soyun sonra da o siki görünce bas yaygarayı!"</font></p>"
+"<p><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">ABAROT GÖT: (d)-(o.k)-Çalım "
+"satan, hava atan kişi. "Sen de amma abarot götmüşsün annem, gören de "
+"sol taşaktan düştün sanır."</font></p>"
+"</blockquote>";
Document doc = Jsoup.parse(html);
Elements els = doc.select("blockquote p font[face=Verdana, Arial, Helvetica, sans-serif]");
for (Element e : els){
System.out.println(e.text());
}
这会打印两行:
ABA ALTINDAN SİK ÖLÇMEK: (d)-(ar.-türk. f.)-Yetersiz bilgilerle bir erkeğin cinsel gücünü tartmaya çalışmak & Az bilgiyle bir şeyin aslını öğrenebileceğini sanmak. "O kadar da leyla olunmaz ki canım. Sen kalk aba altından sik ölçmeye soyun sonra da o siki görünce bas yaygarayı!"
ABAROT GÖT: (d)-(o.k)-Çalım satan, hava atan kişi. "Sen de amma abarot götmüşsün annem, gören de sol taşaktan düştün sanır."
附录
我现在尝试使用您提供的URL:
String url = "http://ikra4.tripod.com/kadinargo/a.html";
Document doc= Jsoup.parse(new URL(url).openStream(), "ISO-8859-9", url);
Elements els = doc.select("blockquote p font[face=Verdana, Arial, Helvetica, sans-serif]");
for (Element e : els){
System.out.println(e.text());
}
请注意,该网站不会以正确的 HTTP header 指示所使用的编码进行响应。 JSoup 回退到您 运行 所在系统的编码,这可能是错误的。因此,您需要使用带有显式编码信息的 URL.openStream
来获取您想要的页面。