Java Jsoup抓取HTML动态内容
我是Jsoup的新手,我一直在尝试创建一个小代码,使用Jsoup获取steam库存中项目的名称Java Jsoup抓取HTML动态内容,java,html,css,jsoup,Java,Html,Css,Jsoup,我是Jsoup的新手,我一直在尝试创建一个小代码,使用Jsoup获取steam库存中项目的名称 public Element getItem(String user) throws IOException{ Document doc; doc = Jsoup.connect("http://steamcommunity.com/id/"+user+"/inventory").get(); Element element = doc.getElementsByClass(
public Element getItem(String user) throws IOException{
Document doc;
doc = Jsoup.connect("http://steamcommunity.com/id/"+user+"/inventory").get();
Element element = doc.getElementsByClass("hover_item_name").first();
return element;
}
此方法返回:
<h1 class="hover_item_name" id="iteminfo0_item_name"></h1>
我想要的信息是“h1”标签,它是当你点击一个特定的窗口时产生的。
先谢谢你 使用.text()
并返回字符串,即:
public String getItem(String user) throws IOException{
Document doc;
doc = Jsoup.connect("http://steamcommunity.com/id/"+user+"/inventory").get();
Element element = doc.getElementsByClass("hover_item_name").first();
String text = element.text();
return text;
}
您可以使用。选择(字符串cssQuery)
方法:
doc.select(“h1”)
为您提供所有h1
元素。
如果需要这些标记中的实际文本,请为每个元素使用.Text()
。
如果需要像class
或id
这样的属性,请在元素上使用.attr(String attributeKey)
,例如:
doc.getElementsByClass("hover_item_name").first().attr("id")
为您提供“项目信息0\u项目名称”
但是,如果您需要在网站上执行单击操作,那么您不能使用JSoup执行该操作,因此JSoup是一个HTML解析器,而不是浏览器的替代品。Jsoup无法处理动态内容
但您可以做的是,首先在h1
标记中刮取相关数据,然后分别发送一个新的.post()
如果你想要一个真正的网络驱动程序,看看。你是说“XYZ”->“XYZ”?是的,我想要“XYZ”,但它是在你点击特定窗口时生成的谢谢,问题是我想要处理动态内容,所以我想我会使用另一种不同于Jsoup的方法