[英]Issue using jsoup to select tags within div
我有一个HTML文件,其中包含以下内容:
<div class="title"><a href="../dorothy_perkins_true_blue_suedette/thing?id=130434603" title="Dorothy Perkins True blue suedette clutch bag">Dorothy Perkins True blue suedette clutch bag</a></div>
我想提取href
的网址。 我有以下代码:
Document doc = Jsoup.connect(url).get();
Elements products = doc.select("div.title a[href]");
System.out.println("size: "+products.size());
但是打印件显示大小为0。找不到任何匹配项。 我使用的网址是http://www.polyvore.com/bags/shop?category_id=35
。 您可以看一下源代码,我很确定上面的代码是正确的。 如果任何人都可以提出想法,那将是很棒的。 非常感谢。
我相信您使用以下代码进行连接。
doc = Jsoup.connect("http://www.polyvore.com/bags/shop?category_id=35").get();
如果您执行System.out.println(doc.html());
,它返回的HTML源代码的全部内容与我们通过Mozilla和Chrome之类的浏览器看到的内容完全不同。
要解决此问题,需要在Jsoup连接中指定userAgent
参数,如下所示。
Document doc = null;
Elements aEles = null;
try {
// doc = Jsoup.connect("http://www.polyvore.com/bags/shop?category_id=35").get();
doc = Jsoup.connect("http://www.polyvore.com/bags/shop?category_id=35")
.userAgent("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36")
.referrer("http://www.google.com").get();
if (doc != null) {
aEles = doc.select("div.title > a");
if (aEles != null)
System.out.println("size: " + aEles.size());
}
} catch (Exception e) {
e.printStackTrace();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.