1、需求及配置

需求:爬取京东手机搜索页面的信息,记录各手机的名称,价格,评论数等,形成一个可用于实际分析的数据表格。

使用maven项目,log4j记录日志,日志仅导出到控制台。

maven依赖如下(pom.xml)

?

log4j配置(log4j.properties),将info及以上等级信息输出到控制台,不单独设置输出文档。

?

2、需求分析与代码

2.1需求分析

第一步,建立客户端与服务端的连接,并通过url获得网页上的html内容。

第二步,解析html内容,获取需要的元素。

第三步,将html内容输出到本地的文本文档中,可直接通过其他数据分析软件进行分析。

根据以上分析,建立4个类,gethtml(用于获取网站html), parsehtml(用于解析html), writeto(用于输出文档), maincontrol(主控).下面分别对四个类进行说明。为使代码尽量简洁,所有的异常均从方法上直接抛出,不catch。

2.2代码

2.2.1gethtml类

该类包含两个方法:geth(string url), urlcontrol(string baseurl, int page),分别用于获取网页html及控制url。由于此次爬取的网页内容只是京东上某一类商品的搜索结果,所以不需要对页面上所有的url进行遍历,只需要观察翻页时url的变化,推出规律即可。只向外暴露urlcontrol方法,类中设置一个private的log属性:private static logger log = logger.getlogger(gethtml.class); 用于记录日志。

geth(string url),对单个url的html内容进行获取。

urlcontrol(string baseurl, int page),设置循环,访问多个页面的数据。通过审查元素可以看到京东上搜索页page的变化实际是奇数顺序的变化。

再看一下点击后网址的变化,可以发现实际变化的是page属性的值。通过拼接的方式就可以很的容易的获得下一个网页的地址。

https://search.jd.com/search?keyword=%e6%89%8b%e6%9c%ba&enc=utf-8&qrst=1&rt=1&stop=1&vt=2&cid2=653&cid3=655&page=3&s=47&click=0

https://search.jd.com/search?keyword=%e6%89%8b%e6%9c%ba&enc=utf-8&qrst=1&rt=1&stop=1&vt=2&cid2=653&cid3=655&page=5&s=111&click=0

https://search.jd.com/search?keyword=%e6%89%8b%e6%9c%ba&enc=utf-8&qrst=1&rt=1&stop=1&vt=2&cid2=653&cid3=655&page=7&s=162&click=0

整体代码:

?

2.2.2parsehtml类

该步骤需要通过审查元素对需要爬取内容的标签进行确定,再通过jsoup中的css选择器进行获取。

?

2.2.3writeto类

此类中的方法将解析完成的内容写入到一个本地文件中。只是简单的io。

?

2.2.4maincontrol类

主控程序,写入基地址与想要获取的页面数。调用gethtml类中的urlcontrol方法对页面进行抓取。

?

3、爬取结果

爬取20页。

3.1控制台输出

3.2文档输出

可以直接使用excel打开,分隔符为制表符。列分别为商品编号,名称,价格与评论数。

4、小结

此次爬取使用了httpclient与jsoup,可以看到对于简单的需求,这些工具还是非常高效的。实际上也可以把所有类写到一个类当中,写多个类的方式思路比较清晰。

以上这篇java爬虫实现爬取京东上的手机搜索页面 httpcliient+jsoup就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:http://www.cnblogs.com/pandasgb/archive/2017/11/30/7920323.html

java爬虫京东商品,Java爬虫实现爬取京东上的手机搜索页面 HttpCliient+Jsoup相关推荐

  1. python爬取京东商品代码_Python简单爬取京东商品列表

    #!/usr/bin/python3 # -*- coding: UTF-8 -*- import urllib.request import urllib.error import re impor ...

  2. python爬取京东商品信息代码_爬取京东商品信息

    利用 BeautifulSoup + Requests 爬取京东商品信息并保存在Excel中 一.查看网页信息 打开京东商城,随便输入个商品,就选固态硬盘吧 先看看 URL 的规律,可以看到我们输入的 ...

  3. java 手机网页_Java爬虫: 爬取京东上的手机搜索页面 HttpClient+Jsoup

    1.需求及配置 需求:爬取京东手机搜索页面的信息,记录各手机的名称,价格,评论数等,形成一个可用于实际分析的数据表格. 使用Maven项目,log4j记录日志,日志仅导出到控制台. Maven依赖如下 ...

  4. Python3网络爬虫开发实战,Appium+mitmdump 爬取京东商品

    11.6 Appium+mitmdump 爬取京东商品 在前文中,我们曾经用 Charles 分析过京东商品的评论数据,但是可以发现其参数相当复杂,Form 表单有很多加密参数.如果我们只用 Char ...

  5. python3[爬虫实战] 使用selenium,xpath爬取京东手机(下)

    这次主要是进行京东具体某个店铺手机评论内容的爬取. 本来是跟上一起写的,只是没有时间一块做总结,现在写上来是有点生疏了.这里是暂时获取一个商品的评论内容 爬取的字段:评论内容,购买机型,评论人 上代码 ...

  6. 【python爬虫 系列】13.实战二 爬取京东信息

    实战2 爬取京东 1. 2.设计架构: 每个商品只有100页, 用线程池处理,不需要分区 对于耗费时间的评论获取使用Celery分布式获取 Celery使用redis中间件和存储 结果写入cs 3.写 ...

  7. python爬取京东手机数据_Python数据爬虫学习笔记(21)爬取京东商品JSON信息并解析...

    一.需求:有一个通过抓包得到的京东商品的JSON链接,解析该JSON内容,并提取出特定id的商品价格p,json内容如下: jQuery923933([{"op":"75 ...

  8. python 爬关键词_python爬虫:基于关键词和分类爬取wallheaven上的图片

    闲来无事,我打算爬一下壁纸,选好wallheaven作为目标之后,经过一番折腾,我写出了一段代码,顺利完成了目标. 一.爬虫第一步自然是上要爬到的网站,进入开发者模式,查看网页结构.我进入wallhe ...

  9. 【爬虫】使用beautifulsoup、requests爬取网页上的图片;循环爬取上市公司高管信息

    **声明:本篇博文只用于对于爬虫技术的学习交流.如果侵犯到相关网站利益,请联系我删除博文.造成不便还请见谅.希望各位同学在学习的时候不要过于频繁的去请求. 最近博主在学习前端开发和网页相关的东西,这些 ...

最新文章

  1. 升级失败?用TFTP修复Linksys无线路由器固件
  2. 区块链BaaS云服务(40) 泰岳联盟链
  3. SpringBoot+Echarts实现请求后台数据显示饼状图
  4. onbeforeunload与onunload事件
  5. c语言中的字符变量用保留字()来说明,C语言程序设计填空题2
  6. HTML基础(part8)--HTML5
  7. Java:不朽的对象和对象复活
  8. AWR 报告深度解读:Redo Nowait指标的算法和诊断
  9. ios html转json,iOS 中 Model 和 JSON 互相转换
  10. 新建Scrapy项目
  11. android定位!每个程序员都必须掌握的8种数据结构!完整版开放下载
  12. 安科瑞电力监控系统在上海平凉街道23街坊商办项目的应用
  13. 毕业后拉开大家差距的原因
  14. 清代国画大师孙温绘全本《红楼梦》系列数字藏品即将上线!
  15. 第三代测序成本偏高是什么原因导致的? 是看了这道题下面的邹捷萌回答:现在基因测序的瓶颈主要在哪里?精度?速度? 在精确度方面第三代测序已经很高了,但目前国内生物实验室的测序还是以二代为主,推测成本可能
  16. 社保能找公司代缴吗?小心问题找上门
  17. 条码打印机跳纸是怎么回事
  18. 支付退款流程设计_如何设计订单系统?不妨看看这篇文章
  19. 我的眉画得浓淡可合时兴?打起黄莺儿,莫教枝上啼。
  20. js-六爻排盘-六神

热门文章

  1. 计算机网络基础知识及面试总结-这应该是最全的了
  2. Chamfer Distance (CD)
  3. oracle 自动异地备份,实现Oracle异地数据自动备份方案 | 学步园
  4. 【技术详解】阿里云AIoT物模型支撑设备规模已超亿级
  5. Centos文件清理
  6. hdf5 matlab,hdf5格式的matlab读写操作
  7. android高斯模糊平均值,高斯模糊
  8. 计算机中的图表类型,高级会计师《职称计算机》图表制作:主要常用图表类型...
  9. 相控阵天气雷达工作原理
  10. 乐观锁和悲观锁的简单理解