使用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追加写入操作而成,还有待优化,打算爬取更多信息 ...
随机推荐
- http_server实例代码
from socket import * def handleClient(connfd): print("-----") request = connfd.recv(4096) ...
- 安装伪分布式hbase 0.99.0
查看是否启动成功,输入jps,看到有HMaster和HQuorumPeer,浏览器输入http://localhost:16030/master-status,能打开说明成功 hbase(main): ...
- ubuntu安装依赖:0.8.1-1ubuntu4.4 正要被安装以及vm nested解决方法
刚才在ubuntu10.04虚拟机上安装kvm,提示0.8.1-1ubuntu4.4 正要被安装,查了一下,有一种解决方法: 进入“系统->系统管理->更新管理器->设置”,在弹出的 ...
- Java并发--volatile详情
volatile这个关键字可能很多朋友都听说过,或许也都用过.在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果.在Java 5之后,volatile关键字才得以 ...
- java project 项目在 linux 下面部署方法
1.前提是安装好了响应的开发和部署环境,例如jdk. 2.在Linux下运行可执行Jar包,首先准备jar包,一般的编译工具Eclipse,jbuilder都提供export功能,可以生成jar包. ...
- BZOJ3489 A simple rmq problem 【可持久化树套树】*
BZOJ3489 A simple rmq problem Description 因为是OJ上的题,就简单点好了.给出一个长度为n的序列,给出M个询问:在[l,r]之间找到一个在这个区间里只出现过一 ...
- BZOJ5336 TJOI2018 party 【状压DP】*
BZOJ5336 TJOI2018 party Description 小豆参加了NOI的游园会,会场上每完成一个项目就会获得一个奖章,奖章 只会是N, O, I的字样.在会场上他收集到了K个奖章组成 ...
- Dapper.Contrib 开发.net core程序,兼容多种数据库
Dapper.Contrib 开发.net core程序,兼容多种数据库 https://www.cnblogs.com/wuhuacong/p/9952900.html 使用Dapper.Contr ...
- Java8中计算日期时间差
一.简述 在Java8中,我们可以使用以下类来计算日期时间差异: 1.Period 2.Duration 3.ChronoUnit 二.Period类 主要是Period类方法getYears(),g ...
- chrome安装vue-devtools
安装方法1: 需正常打开chrome商店,搜索vuejs devtools 安装.chrome://extensions/ 开发者工具-扩展程序下启用: 方法2: github下载插件,npm包安装依 ...