【发布时间】:2020-01-25 13:45:24
【问题描述】:
我正在尝试从该网站获取天气数据:
https://www.ilmeteo.it/meteo/Magenta/previsioni-orarie?refresh_ce
用代码:
try {
int i = 0;
if (googlefirst3.startsWith("http")) {
Document document = Jsoup.connect("https://www.ilmeteo.it/meteo/Magenta/previsioni-orarie?refresh_ce").userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11 Firefox/19.0").timeout(0).get();
Elements temp = document.select("tr");
String verifica;
verifica=document.html();
for (Element movielist : temp) {
i++;
html = (i + "|||" + movielist.getElementsByTag("td").first().html());
array3b[i] = html;
}
}
} catch (IOException e) {
e.printStackTrace();}
我正在尝试获取包含温度、风和时间数据的表格行:
但我无法得到它。我得到的文件不包含这些数据,而且似乎不完整。 我认为这是由于 javascript 生成的 html,但即使使用这种方法:
How do I get the web page contents from a WebView?
我无法得到它。我不确定javascript是否是问题所在。 任何人都可以帮助我至少尝试确定问题的性质吗?
非常感谢。
【问题讨论】:
-
我遇到了同样的问题,现在大多数网站都有他们网站的移动版本,这意味着他们的 html dom 与桌面版本不同。我可以建议您做的只是打印网页的文档/正文并相应地更改您的选择器
-
我设法用 webview 方法打印了整个 html 代码,但我正在寻找的代码似乎不知何故丢失了,即使 webview 实际显示了信息。
标签: javascript android jsoup screen-scraping scrape