永发信息网

Java 关于抓取异步的网页数据

答案:5  悬赏:30  手机版
解决时间 2021-03-11 03:55
public static String getHtmlCode(String url,String charCode) throws IOException {
String htmlCode = "";
InputStream in = null;
HttpURLConnection connection=null;
try {
URL urlCon = new URL(url);
connection = (HttpURLConnection) urlCon.openConnection();
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.25 Safari/534.24");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
connection.setFollowRedirects(true);
connection.setInstanceFollowRedirects(false);
connection.setDefaultUseCaches(false);
in = urlCon.openStream();
int index = 0;
byte[] bytes = new byte[1024*100];
int count = in.read(bytes, index, 1024 * 100);
while (count != -1) {
index += count;
count = in.read(bytes, index, 1);
}
htmlCode = new String(bytes, charCode);
} catch (Exception e) {
e.printStackTrace();
}
finally{
if(in!=null)
in.close();
if(connection!=null)
connection.disconnect();
}
return htmlCode;
}

我要抓取一个页面的数据,但是因为访问的页面采用AJAX。使我读取的数据不完全。请问下该怎么写才能读取到全部的数据
最佳答案
顺藤摸瓜,看那个ajax请求是post还是get方法,模拟一下把数据抓过来,不过这样写出的代码针对性太强,不具通用性
全部回答
1. 用jsoup抓取生成页面后的静态信息,非常简单,会jquery的选择器就会用 2. 对于加载页面后通过ajax返回刷新的页面,没办法,请从发出的request返回xml或json的数据一条条分析,看是哪个 爬虫不可能任意条件下都适用的!
顺藤摸瓜看到Ajax请求的POST或GET方法,模拟数据抓,但也有针对性的,写代码,不具有通用性
遵循它,看到的AJAX请求是POST方法来模拟数据抓,但这么写代码太针对不具备通用性
遵循它,看到的AJAX请求是POST方法来模拟数据抓,但这么写代码太针对不具备通用性
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
男男恋其中一个叫鹿子白
在学校做早餐推广活动的文案怎么写
将你从前予我心 赋予她人可?
宿迁市顾家塑业有限公司我想知道这个在什么地
【illumina测序】在核苷酸测序(illumina测序
面炸的蚂蚱腿怎么做
岁月岌岌是什么意思?
红米note3红外线怎么设置?
w10的系统怎么设置回默认菜单啊
二约新街地址在什么地方,想过去办事
人类社会总是不断进步发展的,但在发展过程中
带车送快递都有什么补助,多少钱一个月
开牛肉面馆需要注意哪些方面?
cb b63齿轮泵 压力是多少公斤
上网查到了在高速上超速了扣3分,没扣钱,要
推荐资讯
收敛水什么时候用
读漫画《观星》,怎么我崇拜的星一个也看不见
日日兴商行在哪里啊,我有事要去这个地方
你们玩是玩第一视角还是第三视角
水的体积与冰的体积谁的大
民权县商丘庄周自然堂地址是什么,有没有知道
若a和b互为相反数,c和d互为倒数,则(a+b)1
阳光诊所这个地址在什么地方,我要处理点事
成都机场打包怎么收费的
来不及说我爱你慕容丰娶程瑾之了吗
如果大学教人学会了知识,学会了某种技能,那
果木漕在什么地方啊,我要过去处理事情
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?