无法获得href标签的实际内容(.jpg图片)

时间:2012-06-21 07:43:56

标签: java html web-scraping jsoup

我有以下代码:

String website = "http://www.somewebsite.com/";

Document doc = Jsoup.connect(website).get();

Elements aElements = doc.select("a");

for (Element element : aElements)
{
    System.out.println(element.attr("href"));
}

当我看到href内容的输出时,它看起来如下:

NATS = MzQ2NDAwLjQuNDYuNDYuMS43MDAxOTQ4LjAuMA&安培; IMG = 1 ?NATS = MzQ2NDAwLjQuNDYuNDYuMS43MDAxOTQ4LjAuMA&安培; IMG = 2 ?NATS = MzQ2NDAwLjQuNDYuNDYuMS43MDAxOTQ4LjAuMA&安培; IMG = 3 ?NATS = MzQ2NDAwLjQuNDYuNDYuMS43MDAxOTQ4LjAuMA&安培; IMG = 4

当我使用浏览器(Firefox)访问网页时,href内容如下所示:

... / .. / .. / picture1.jpg
... / .. / .. / picture2.jpg
... / .. / .. / picture3.jpg
... / .. / .. / picture4.jpg

我尝试使用以下代码将“Referer”变量更改为网站名称:

Document doc = Jsoup.connect(website).header("Referer", "http://www.somewebsite.com/").get();

但这不起作用..

网站如何以某种方式“隐藏”我的Jsoup“下载程序”中的href内容,但在我实际浏览真实浏览器时显示它?

我怎样才能绕过它?

1 个答案:

答案 0 :(得分:0)

通过设置userAgent方法的参数来解决问题:

Document doc2 = Jsoup.connect(website).userAgent("Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)").get();