使用JAVA爬取京东商品价格
有一件物品,你想看看它在京东下所有搜索结果的价格,要怎么办呢?
京东这个网站还是很好爬的,所有价格信息都写在了Html里面,而且跳到第二页之后,url也是有规律的,基本没有什么技术难度。
例如:想找ipad这个商品

在搜索栏输入后显示商品的列表,虽然URL很复杂,但可以简化为:
http://search.jd.com/Search?keyword=ipad
换页的话,只要在最后加上一些参数(Get方法):
http://search.jd.com/Search?keyword=ipad&page=3
page的数字以奇数方式递增的。
所以只要连上这个url,再返回html,再解析html就能获得价格和商品名了。
我是用Jsoup解析的:
Elements p_name = doc.select("div.p-name");
Iterator<Element> name = p_name.iterator();
这里有必要说明下:
Elements这个类,其实是一个集合,是Jsoup解析html时,获得的所有"div.p-name"的元素的集合
所有用一个迭代器来遍历。
效果大概这样:
Apple iPad mini 2 7.9英寸平板电脑 银色(16G WLAN版/A7芯片/Retina显示屏 ME279CH/A) ¥1988.00 货到付款
Apple iPad Air 9.7英寸平板电脑 银色(16G WLAN版/A7芯片/Retina显示屏 MD788CH/A) ¥2888.00 货到付款
Apple iPad mini 2 ME280CH/A (配备 Retina 显示屏 7.9英寸 32G WLAN 机型 银色) ¥2338.00 货到付款
Apple iPad Air 2 9.7英寸平板电脑 金色(16G WLAN版/A8X 芯片/Retina显示屏/Touch ID技术 MH0W2CH/A) ¥3588.00 货到付款
Apple iPad Air 9.7英寸平板电脑 银色(32G WLAN版/A7芯片/Retina显示屏 MD789CH/A) ¥3288.00 货到付款
Apple iPad Air 2 9.7英寸平板电脑 金色(64G WLAN版/A8X 芯片/Retina显示屏/Touch ID技术 MH182CH/A) ¥4288.00 货到付款
Apple iPad mini 4 7.9英寸平板电脑 金色(16G WLAN版/A8芯片/Retina显示屏/Touch ID技术 MK6L2CH/A) ¥2888.00 货到付款
Apple iPad Air 2 9.7英寸平板电脑 银色(16G WLAN版/A8X 芯片/Retina显示屏/Touch ID技术 MGLW2CH/A ) ¥3588.00 货到付款
Apple iPad Air 2 9.7英寸平板电脑 银色(64G WLAN版/A8X 芯片/Retina显示屏/Touch ID技术 MGKM2CH/A ) ¥4288.00 货到付款
Apple iPad mini 4 7.9英寸平板电脑 金色(64G WLAN版/A8芯片/Retina显示屏/Touch ID技术 MK9J2CH/A) ¥3588.00 货到付款
Apple iPad mini 2 7.9英寸平板电脑 深空灰色(16G WLAN版/A7芯片/Retina显示屏 ME276CH/A) ¥1988.00 货到付款
Apple iPad mini 7.9英寸平板电脑 黑色(16G WiFi+Cellular版MD540CH/A) ¥1499.00 货到付款
Apple iPad mini 2 7.9英寸平板电脑 深空灰色(32G WLAN版/A7芯片/Retina屏 ME277CH/A) ¥2388.00 货到付款
Apple iPad Air 9.7英寸平板电脑 深空灰色(16G WLAN版/A7芯片/Retina显示屏 MD785CH/A) ¥2888.00 货到付款
Apple iPad mini 4 7.9英寸平板电脑 银色(16G WLAN版/A8芯片/Retina显示屏/Touch ID技术 MK6K2CH/A) ¥2888.00 货到付款
Apple iPad Air 2 9.7英寸平板电脑 深空灰色(64G WLAN版/A8X芯片/Retina屏/Touch ID技术 MGKL2CH/A ) ¥4288.00 货到付款
Apple iPad Air 2 9.7英寸平板电脑 深空灰色(16G WLAN版/A8X芯片/Retina屏/Touch ID技术 MGL12CH/A ) ¥3588.00 货到付款
Apple iPad Pro 12.9英寸平板电脑 金色(32G WLAN版/A9X芯片/Retina显示屏/Multi-Touch技术 ML0H2CH/A) ¥5888.00 货到付款
Apple iPad Air 9.7英寸平板电脑 深空灰色(32G WLAN版/A7芯片/Retina显示屏 MD786CH/A) ¥3288.00 货到付款
Apple iPad Air 2 MH172CH/A (9.7英寸 64G WLAN+Cellular 机型 金色) ¥5188.00 货到付款
Apple iPad Air 2 9.7英寸平板电脑 金色(128G WLAN版/A8X 芯片/Retina显示屏/Touch ID技术 MH1J2CH/A ) ¥4988.00 货到付款
Apple iPad mini 2 ME280CH/A (配备 Retina 显示屏 7.9英寸 32G WLAN 银色) ¥2388.00 货到付款
Apple iPad Pro 12.9英寸平板电脑 金色(128G WLAN版/A9X芯片/Retina显示屏/Multi-Touch技术 ML0R2CH/A) ¥6888.00 货到付款
Apple iPad mini 4 7.9英寸平板电脑 深空灰色(16G WLAN版/A8芯片/Retina显示屏/Touch ID技术 MK6J2CH/A) ¥2888.00 货到付款
Apple iPad mini 4 7.9英寸平板电脑 金色(128G WLAN版/A8芯片/Retina显示屏/Touch ID技术 MK9Q2CH/A) ¥4288.00 货到付款
Apple iPad Air 2 9.7英寸平板电脑 深空灰色(128G WLAN版/A8X芯片/Retina屏/Touch ID技术 MGTX2CH/A) ¥4988.00 货到付款
Apple iPad Air 2 9.7英寸平板电脑 银色(128G WLAN版/A8X 芯片/Retina显示屏/Touch ID技术 MGTY2CH/A) ¥4988.00 货到付款
Apple iPad Air 2 MH1C2CH/A (9.7英寸 16G WLAN+Cellular 机型 金色) ¥4488.00 货到付款
Apple iPad Pro 12.9英寸平板电脑 银色(32G WLAN版/A9X芯片/Retina显示屏/Multi-Touch技术 ML0G2CH/A) ¥5888.00 货到付款
Apple iPad Pro 12.9英寸平板电脑 银色(128G WLAN版/A9X芯片/Retina显示屏/Multi-Touch技术 ML0Q2CH/A) ¥6888.00 货到付款
不一定和页面上的顺序对得上,但是名字对应的价格是对的。
总结一下:
商品的列表页面:
http://search.jd.com/Search?keyword=“商品名”&page=“页数”
真是太简单啦!
使用JAVA爬取京东商品价格的更多相关文章
- Java实现爬取京东手机数据
Java实现爬取京东手机数据 最近看了某马的Java爬虫视频,看完后自己上手操作了下,基本达到了爬数据的要求,HTML页面源码也刚好复习了下,之前发布两篇关于简单爬虫的文章,也刚好用得上.项目没什么太 ...
- 分布式爬虫系统设计、实现与实战:爬取京东、苏宁易购全网手机商品数据+MySQL、HBase存储
http://blog.51cto.com/xpleaf/2093952 1 概述 在不用爬虫框架的情况,经过多方学习,尝试实现了一个分布式爬虫系统,并且可以将数据保存到不同地方,类似MySQL.HB ...
- webMagic+RabbitMQ+ES爬取京东建材数据
本次爬虫所要爬取的数据为京东建材数据,在爬取京东的过程中,发现京东并没有做反爬虫动作,所以爬取的过程还是比较顺利的. 为什么要用WebMagic: WebMagic作为一款轻量级的Java爬虫框架,可 ...
- 利用selenium爬取京东商品信息存放到mongodb
利用selenium爬取京东商城的商品信息思路: 1.首先进入京东的搜索页面,分析搜索页面信息可以得到路由结构 2.根据页面信息可以看到京东在搜索页面使用了懒加载,所以为了解决这个问题,使用递归.等待 ...
- Scrapy实战篇(八)之Scrapy对接selenium爬取京东商城商品数据
本篇目标:我们以爬取京东商城商品数据为例,展示Scrapy框架对接selenium爬取京东商城商品数据. 背景: 京东商城页面为js动态加载页面,直接使用request请求,无法得到我们想要的商品数据 ...
- 爬虫系列(十三) 用selenium爬取京东商品
这篇文章,我们将通过 selenium 模拟用户使用浏览器的行为,爬取京东商品信息,还是先放上最终的效果图: 1.网页分析 (1)初步分析 原本博主打算写一个能够爬取所有商品信息的爬虫,可是在分析过程 ...
- 正则爬取京东商品信息并打包成.exe可执行程序。
本文爬取内容,输入要搜索的关键字可自动爬取京东网站上相关商品的店铺名称,商品名称,价格,爬取100页(共100页) 代码如下: import requests import re # 请求头 head ...
- 正则爬取京东商品信息并打包成.exe可执行程序
本文爬取内容,输入要搜索的关键字可自动爬取京东网站上相关商品的店铺名称,商品名称,价格,爬取100页(共100页) 代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 ...
- JS+Selenium+excel追加写入,使用python成功爬取京东任何商品~
之前一直是requests库做爬虫,这次尝试下使用selenium做爬虫,效率不高,但是却没有限制,文章是分别结合大牛的selenium爬虫以及excel追加写入操作而成,还有待优化,打算爬取更多信息 ...
随机推荐
- IE中拖放问题
1.所有的元素上都能绑定放置目标的事件,但并不保证此元素是有效的放置对象. 默认情况下,IE中只有文本框(<input/>或<textarea/>)是网页上唯一有效的放置目标. ...
- linux自学(六)之开始centos学习,更换yum源
上一篇:linux自学(五)之开始centos学习,Xshell远程连接 1. 备份原来的yum源 cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repo ...
- 《DSP using MATLAB》示例Example 8.26
代码: %% ------------------------------------------------------------------------ %% Output Info about ...
- UVA11401 Triangle Counting
题意 输入\(n\),输出有多少种方法可以从\(1,2,3,\dots,n\)中选出3个不同的整数,使得以他们为三边长可以组成三角形. \(n \leq 10^6\) 分析 参照刘汝佳的题解. 按最大 ...
- Python猴子补丁
属性在运行时的动态替换,叫做猴子补丁(Monkey Patch). 为什么叫猴子补丁 属性的运行时替换和猴子也没什么关系,关于猴子补丁的由来网上查到两种说法: 1,这个词原来为Guerrilla Pa ...
- linux查找目录下的所有文件中是否含有某个字符串 (转)
查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri "IBM" 查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名 find .|xar ...
- 初探babel转换器的安装与使用
一.配置.babelrc文件(没有名字的文件) Babel的配置文件是.babelrc,存放在项目的根目录下.使用Babel的第一步,就是配置这个文件. 基本格式如下: { "presets ...
- 如何将angular-ui-bootstrap的图片轮播组件封装成一个指令
在项目开发中我们经常会遇到图片轮播的功能点: 如果我们开发人员自己原生手写,将会花费很多的时间,最终得不偿失. 接下来就详细说说如何使用angular-ui发热图片轮播模块,并且将它写成一个指令(便于 ...
- angular指令,异步调用数据,监控数据的变化(自定义一个表头的指令)
angular框架中提供了很多有效的指令,指令的目的就是为了提高代码的复用率,提高工作效率. 下面我们自己来定义一个指令: 一点建议:写指令名字的时候,尽量不要用用大写,下划线等,否则会有很大的坑等着 ...
- CentOS 6.5 下MySql主从、主主配置
参考网站: http://blog.csdn.net/faye0412/article/details/6280761 http://blog.csdn.net/kk185800961/article ...