有一件物品,你想看看它在京东下所有搜索结果的价格,要怎么办呢?

京东这个网站还是很好爬的,所有价格信息都写在了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爬取京东商品价格的更多相关文章

  1. Java实现爬取京东手机数据

    Java实现爬取京东手机数据 最近看了某马的Java爬虫视频,看完后自己上手操作了下,基本达到了爬数据的要求,HTML页面源码也刚好复习了下,之前发布两篇关于简单爬虫的文章,也刚好用得上.项目没什么太 ...

  2. 分布式爬虫系统设计、实现与实战:爬取京东、苏宁易购全网手机商品数据+MySQL、HBase存储

    http://blog.51cto.com/xpleaf/2093952 1 概述 在不用爬虫框架的情况,经过多方学习,尝试实现了一个分布式爬虫系统,并且可以将数据保存到不同地方,类似MySQL.HB ...

  3. webMagic+RabbitMQ+ES爬取京东建材数据

    本次爬虫所要爬取的数据为京东建材数据,在爬取京东的过程中,发现京东并没有做反爬虫动作,所以爬取的过程还是比较顺利的. 为什么要用WebMagic: WebMagic作为一款轻量级的Java爬虫框架,可 ...

  4. 利用selenium爬取京东商品信息存放到mongodb

    利用selenium爬取京东商城的商品信息思路: 1.首先进入京东的搜索页面,分析搜索页面信息可以得到路由结构 2.根据页面信息可以看到京东在搜索页面使用了懒加载,所以为了解决这个问题,使用递归.等待 ...

  5. Scrapy实战篇(八)之Scrapy对接selenium爬取京东商城商品数据

    本篇目标:我们以爬取京东商城商品数据为例,展示Scrapy框架对接selenium爬取京东商城商品数据. 背景: 京东商城页面为js动态加载页面,直接使用request请求,无法得到我们想要的商品数据 ...

  6. 爬虫系列(十三) 用selenium爬取京东商品

    这篇文章,我们将通过 selenium 模拟用户使用浏览器的行为,爬取京东商品信息,还是先放上最终的效果图: 1.网页分析 (1)初步分析 原本博主打算写一个能够爬取所有商品信息的爬虫,可是在分析过程 ...

  7. 正则爬取京东商品信息并打包成.exe可执行程序。

    本文爬取内容,输入要搜索的关键字可自动爬取京东网站上相关商品的店铺名称,商品名称,价格,爬取100页(共100页) 代码如下: import requests import re # 请求头 head ...

  8. 正则爬取京东商品信息并打包成.exe可执行程序

    本文爬取内容,输入要搜索的关键字可自动爬取京东网站上相关商品的店铺名称,商品名称,价格,爬取100页(共100页) 代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 ...

  9. JS+Selenium+excel追加写入,使用python成功爬取京东任何商品~

    之前一直是requests库做爬虫,这次尝试下使用selenium做爬虫,效率不高,但是却没有限制,文章是分别结合大牛的selenium爬虫以及excel追加写入操作而成,还有待优化,打算爬取更多信息 ...

随机推荐

  1. Linux下nginx安装与配置

    部分Linux发布版的默认安装已经集成了nginx,查看方法ls /usr/local,若已有nginx文件夹说明已集成. nginx依赖库pcre与zlib,且pcre依赖于gcc与gcc-c++, ...

  2. 使用Percona Xtrabackup创建MySQL slave库

    一.使用Percona Xtrabackup创建MySQL slave库 MySQL Server 版本: Server version: 5.7.10-log MySQL Community Ser ...

  3. BZOJ:5457: 城市(线段树合并)(尚待优化)

    5457: 城市 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 18  Solved: 12[Submit][Status][Discuss] Des ...

  4. 进阶的Redis之数据持久化RDB与AOF

    大家都知道,Redis之所以性能好,读写快,是因为Redis是一个内存数据库,它的操作都几乎基于内存.但是内存型数据库有一个很大的弊端,就是当数据库进程崩溃或系统重启的时候,如果内存数据不保存的话,里 ...

  5. 《DSP using MATLAB》示例Example 8.10

    这个例子的代码我不会写,只是放一张书的截图图片在这里.以后再改进吧.

  6. {Emgu}{C#}保存图片、视频等

    一.簡介 以前研究所的時候,有使用VC.NET 配合 OpenCV 做影像處理,這東西相當讚,可以省去不少開發時間,今天嘗試看看如何在Visual C# 2008 上使用 OpenCV. 以下引用 O ...

  7. anycast简单总结

    一针见血,言简意赅的总结 bgp+anycast就是不同服务器用了相同的ip地址 anycast 技术特点 bgp+anycast就是多个主机使用相同ip地址的一种技术,当报文发给该地址时,根据路由协 ...

  8. 转发 Java火焰图在Netflix的实践

    为了分析不同软件或软件的不同版本使用CPU的情况,相关设计人员通常需要进行函数的堆栈性能分析.相比于定期采样获得数据的方式,利用定时中断来收集程序运行时的PC寄存器值.函数地址以及整个堆栈轨迹更加高效 ...

  9. bzoj 1670 [Usaco2006 Oct]Building the Moat护城河的挖掘——凸包

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1670 用叉积判断.注意两端的平行于 y 轴的. #include<cstdio> ...

  10. jdk1.8新特性应用之Collection

    之前说了jdk1.8几个新特性,现在看下实战怎么玩,直接看代码: public List<MSG_ConMediaInfo> getConMediaInfoList(String live ...