Java 有没有办法可以像谷歌浏览器审查元素那样获取HTML?
Java 有没有办法可以像谷歌浏览器审查元素那样获取HTML?
比如vue写的,直接获取不到正常页面那样的HTML,有没有办法模拟浏览器那样审查元素获取html?
回答:
第一个问题:可以用Apache的HttpClient库来请求网页的HTML内容,然后通过HTML解析库比如Jsoup来获取Html中的元素。
第二个问题:可以用无头浏览器(Headless Browser),它可以模拟浏览器执行Js,来获取并生成html。
如果给一个url地址,可以通过以下代码获取该地址的html,并对html页面的元素进行操作:
String url = "https://mobile.yangkeduo.com/goods.html?goods_id=484209795384"; try {
// 1.创建URL对象和连接对象
URL urlObj = new URL(url);
HttpURLConnection connection = (HttpURLConnection) urlObj.openConnection();
// 2.设置请求方法,获取响应代码和内容
connection.setRequestMethod("GET");
int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
InputStream inputStream = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
StringBuilder htmlContent = new StringBuilder();
while ((line = reader.readLine()) != null) {
htmlContent.append(line);
}
reader.close();
inputStream.close();
//3.使用 Jsoup 解析 HTML
Document document = Jsoup.parse(htmlContent.toString());
//4.操作html中的a元素
Elements links = document.select("a");
for (Element link : links) {
String linkText = link.text();
String linkUrl = link.attr("href");
}
} else {
System.out.println("HTTP request failed with response code: " + responseCode);
}
connection.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
以上是 Java 有没有办法可以像谷歌浏览器审查元素那样获取HTML? 的全部内容, 来源链接: utcz.com/p/945336.html