Document.select(“ a [href]”)并未获得所有href

时间:2018-10-09 07:56:54

标签: java jsoup

我正在使用JSOUP从网站上获取文档。

下面是我的代码

webPageUrl = https://mwcc.ms.gov/#/electronicDataInterchange
Document doc = Jsoup.connect(webPageUrl).get();  
Elements links = doc.getElementsByAttribute("a[href]"); 

下面的代码行不起作用。它应该返回一个元素,但不会:

doc.getElementsByAttribute("a[href]") 

有人可以指出我的代码中的错误吗?

1 个答案:

答案 0 :(得分:2)

该页面似乎是Angular应用程序,这意味着它通过JavaScript脚本加载了部分(可能是全部或大部分)内容。

URL包含片段分隔符https://mwcc.ms.gov/的事实已经很明显地表明了这一事实,因为如果您执行HTTP请求,那么该指示符之后的所有内容都会被切断(即未发送到服务器) ,因此实际的请求将仅为 lv_tracks.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) { mSelectedTrackTitle.setText(stations[position]); mSelectedTrackImage.setImageDrawable(ContextCompat.getDrawable(this,images [position])); // or mSelectedTrackImage.setImageResource(images [position]); }

据我所知JSoup不支持运行JavaScript,因此您可能需要研究一种涉及更多的抓取工具(可能正在运行完整的浏览器引擎)。