java如何获取含ajax的网页数据
发布网友
发布时间:2022-04-24 07:07
我来回答
共3个回答
热心网友
时间:2022-04-10 07:07
其实任何网页的数据都是由 请求-响应 组成的,谷歌或者火狐 开了F12 选择网络,点击那个更多按钮,你就可以获取到他访问的连接,后面不论普通的 httpclient 还是jsoup 都可以获取到response内容了,个人感觉这样的返回json的可能性很大,你先试试浏览器工具吧
热心网友
时间:2022-04-10 08:25
晕死你了,你都知道ajax,都不知道怎么用么? ajax就是异步交互,页面不刷新加载数据啊。你在ajax里面提交获取数据的Action或者url(实际上就是action)action里面返回json数据,最后在ajax的回调函数里面解析json数据,再用dom显示在html上
热心网友
时间:2022-04-10 09:59
/**
* 获取某个网页的内容
* @param url 网页的地址
* @param code 网页的编码,不传就代表UTF-8
* @return 网页的内容
* @throws IOException
*/
public static String fetch_url(String url, String code) throws IOException {
BufferedReader bis = null;
InputStream is = null;
InputStreamReader inputStreamReader = null;
try {
URLConnection connection = new URL(url).openConnection();
connection.setConnectTimeout(20000);
connection.setReadTimeout(20000);
connection.setUseCaches(false);
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11");
is = connection.getInputStream();
inputStreamReader = new InputStreamReader(is, code);
bis = new BufferedReader(inputStreamReader);
String line = null;
StringBuffer result = new StringBuffer();
while ((line = bis.readLine()) != null) {
result.append(line);
}
return result.toString();
} finally {
if (inputStreamReader != null) {
try {
inputStreamReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (bis != null) {
try {
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (is != null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}