我已经按照教程并提出了以下方法将网页内容读入CharSequence
public static CharSequence getURLContent(URL url) throws IOException {
URLConnection conn = url.openConnection();
String encoding = conn.getContentEncoding();
if (encoding == null) {
encoding = "ISO-8859-1";
}
BufferedReader br = new BufferedReader(new
InputStreamReader(conn.getInputStream(),encoding));
StringBuilder sb = new StringBuilder(16384);
try {
String line;
while ((line = br.readLine()) != null) {
sb.append(line);
sb.append('\n');
}
} finally {
br.close();
}
return sb;
}
它将返回url指定的网页的表示。 但是,这种表示方式与我在Firefox中使用“查看页面源”的方式有很大的不同,因为我需要从原始网页(原始“查看页面源文件”中的某些数据段)中抓取数据,所以它总是会失败在此Java表示上查找所需的文本。 我在某个地方出错了吗?我需要你的建议,非常感谢你的帮助!
答案 0 :(得分:1)
您需要使用HTML解析库来构建表示此网页上的HTML文本的数据结构。我的建议是使用这个库:http://htmlparser.sourceforge.net。
答案 1 :(得分:1)
请求useragent和cookie等内容可以更改服务器在响应中返回的内容。因此问题更可能出在您发送的请求的详细信息中,而不是您阅读响应的方式。
HttpClient之类的内容可让您更轻松地模拟从浏览器发送的请求。