从某些网站的html页面中提取标题

时间:2013-01-25 06:19:55

标签: java html jsoup

我正尝试使用jsoup从特定网站http://www.justdial.com中提取网页的标题,如下所示:

    Document doc=jsoup.connect("http://www.justdial.com/Mumbai/Satkar-Veg-Restaurant-%3Cnear%3E-Sahakar-Nagar-Next-To-Talwalkars-Gym-Wadala/022P5318248_TXVtYmFpIFJlc3RhdXJhbnRz_BZDET").get();
    String title=doc.title();
    System.out.println("Title="+title);

它给了我一个标题字符串,它甚至不在该页面的源代码中,但可以在浏览器中查看。但对于来自不同站点的所有页面,它正常工作。 那么任何人都可以给出背后的原因以及如何在这种情况下获得理想的结果。谢谢。

2 个答案:

答案 0 :(得分:4)

您应该设置user-agent标头,以便网站为您返回合适的html

Document doc = Jsoup.connect("http://www.justdial.com/Mumbai/Satkar-Veg-Restaurant-%3Cnear%3E-Sahakar-Nagar-Next-To-Talwalkars-Gym-Wadala/022P5318248_TXVtYmFpIFJlc3RhdXJhbnRz_BZDET").userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.120 Safari/535.2").get();
String title = doc.title();
System.out.println(title);

答案 1 :(得分:1)

如果通过Javascript更新给定页面的标题,则无法在源代码中查看或通过脚本将其废弃。

您可以使用webdeveloper工具中的“查看生成的源”菜单项将原始源与生成的源进行比较