HttpClient获取京东商城评论(java实现)
来源:互联网 发布:人工智能伏羲觉醒2 编辑:程序博客网 时间:2024/05/16 13:07
首先介绍一下这里使用的工具和获取数据的基本原理:
工具:1、HttpClient 4.5.3(解压之后将lib文件夹内的jar包导入项目即可)
2、gson-2.2.4.jar(处理json格式的数据)
原理:由于京东评论的页面是动态加载的,是通过ajax无刷新加载出来的。所以可以模仿ajax的过程来实现评论内容的加载。首先在评论页面的调试窗口找到请求评论的地址,如图所示:
上图的Request URL就是对后台请求评论数据的地址。其中productId是商品号,score表示评论的类型(好评为3 中评为2 差评为1 全部评论为0 追评为5),page是页码,pageSize是每页最多的评论数(最大为10)。
然后通过请求得到json数组的格式的数据,最后对这些数据进行就能筛选得到评论的数据。
上干货:
//通过get方法发送请求public static void downloadPage(String path, String savePath,int headerLength) throws HttpException, IOException {//headerLength是上述图片中的callbackHttpGet httpGet = new HttpGet(path);//path就是上述的Request URLhttpGet.setHeader("Connection", "keep-alive");httpGet.setHeader("User-A", "Mozilla/5.0 (Windows NT 6.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2");CloseableHttpResponse response = httpclient.execute(httpGet);int statusCode = response.getStatusLine().getStatusCode();HttpEntity entity = response.getEntity();if (statusCode == HttpStatus.SC_OK) {InputStream input = null;//将请求后反应得到的数据写入输入流input = entity.getContent();BufferedReader br = new BufferedReader(new InputStreamReader(input));String line = null;while ((line = br.readLine()) != null) {//把得到的不规范的json数据裁剪String reqBody = line.toString().substring(headerLength+1, line.length() - 2);JsonParser parser = new JsonParser();try {// 将json格式的字符串转换成json对象JsonObject json = parser.parse(reqBody).getAsJsonObject();// 得到键是comments的json数组,此时的json数组是键值对的数组JsonArray jsonArray = json.getAsJsonArray("comments");int length = jsonArray.size();for (int i = 0; i < length; i++) {// 得到一条评论信息JsonElement element = jsonArray.get(i);// 裁剪没用的json格式,得到评论信息String midContent = element.getAsJsonObject().get("content").toString();//去除文本首尾的引号String content = midContent.substring(1, midContent.length() - 1);// 保留原文件的,在原文件的末尾继续写入输出文件try {BufferedWriter out = new BufferedWriter(new FileWriter(savePath, true));out.write(content + "\r\n");out.close();} catch (IOException e) {System.out.println(e);}}
阅读全文
0 0
- HttpClient获取京东商城评论(java实现)
- 京东商城评论爬虫
- 实现京东商城手机注册获取验证码
- 使用java的爬虫策略获取京东评论
- 京东商城分类实现
- Java递归获取评论列表
- Java HttpClient 实现自动登录与获取网页信息
- js实现京东商城导航
- HttpClient实现获取辽宁大学课程表
- Java - Http异步工具包(HttpClient实现)
- JAVA实现httpClient实例
- java的HttpClient实现
- 爬虫案列:京东商城长裤信息获取
- 京东商城登录逻辑分析,实现程序登录京东商城
- python爬虫(7)——获取京东商品评论信息
- 利用jquery 实现 京东商城 左则商品分栏
- HTML简单实现京东商城底部导航
- 京东商城“饿狼”刘强东(转载)
- Java设计模式
- 【C++】浅谈对模板的认识
- hadoop2.6.5 linux安装
- vue-music
- NOIP2016提高组题解
- HttpClient获取京东商城评论(java实现)
- [LeetCode] 41. First Missing Positive
- redis池化连接
- 完数
- Vue环境搭建及安装(Vue入门篇)
- 资源 | 最新机器学习必备十大入门算法!都在这里了
- 第五章 递归综合习题(leetcode)
- Python 中dict字典get方法讲解
- leetcode 4. Median of Two Sorted Arrays