从网站读取渲染数据
Reading Rendered data from a website
我正在尝试使用 JAVA 从几个网站中提取数据。
我正在连接到一个具有 table 的网站。
我需要从 td 元素中提取值。
事情是这样的:
- 当我在浏览器中检查元素时,我可以在源代码中看到元素及其值。
- 当我在浏览器中查看源代码时,我得到了 JS。
我正在使用 JAVA jdk 1.8 中的 URL,当下面的代码运行时,我得到的是未渲染的 JS,而不是网站在您访问时显示的元素。
import java.net.URL;
import java.net.URLConnection;
URL url = new URL("https://www.example.com");
URLConnection conn = url.openConnection();
conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 (.NET CLR 3.5.30729)");
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
while ((f = in.readLine()) != null) {
builder.append(f);
}
alltext = builder.toString();
if (alltext.contains("<td colspan="1">Something</td>")) {
...Do something
}
我正在尝试使用 JAVA 从几个网站中提取数据。 我正在连接到一个具有 table 的网站。 我需要从 td 元素中提取值。
事情是这样的: - 当我在浏览器中检查元素时,我可以在源代码中看到元素及其值。 - 当我在浏览器中查看源代码时,我得到了 JS。
我正在使用 JAVA jdk 1.8 中的 URL,当下面的代码运行时,我得到的是未渲染的 JS,而不是网站在您访问时显示的元素。
import java.net.URL;
import java.net.URLConnection;
URL url = new URL("https://www.example.com");
URLConnection conn = url.openConnection();
conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 (.NET CLR 3.5.30729)");
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
while ((f = in.readLine()) != null) {
builder.append(f);
}
alltext = builder.toString();
if (alltext.contains("<td colspan="1">Something</td>")) {
...Do something
}