使用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追加写入操作而成,还有待优化,打算爬取更多信息 ...
随机推荐
- slack 团队协作平台
/**************************************************************************** * slack 团队协作平台 * 说明: * ...
- Linux系统管理员必备参考资料下载汇总
Linux系统管理员必备: Linux系统管理工具包系列汇总 Linux系统管理员必看 VanDyke SecureCRT 6.1.3 附特别文件 鸟哥的Linux私房菜 基础学习篇 (第二版) 高清 ...
- LARAVEL IOC容器 示例解析
<?php class People { public $dog = null; public function __construct() { $this->dog = new Dog( ...
- Linux下nginx安装与配置
部分Linux发布版的默认安装已经集成了nginx,查看方法ls /usr/local,若已有nginx文件夹说明已集成. nginx依赖库pcre与zlib,且pcre依赖于gcc与gcc-c++, ...
- stm32寄存器版学习笔记09 IIC
I²C(Inter-Integrated Circuit)总线是一种两线式串行总线,用于连接微控制器及其外设,是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据. IIC总线在传送数据过程中 ...
- BZOJ3196 Tyvj1730 二逼平衡树 【树套树】 【线段树套treap】
BZOJ3196 Tyvj1730 二逼平衡树 Description 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作: 1.查询k在区间内的排名 2.查询区间内排名 ...
- python 抓取网页一部分
import re import requests from bs4 import BeautifulSoup response = requests.get("https://jecvay ...
- 《DSP using MATLAB》示例Example7.12
代码: M = 21; alpha = (M-1)/2; n = [0:1:M-1]; hd = (cos(pi*(n-alpha)))./(n-alpha); hd(alpha+1) = 0; w_ ...
- sysbench fileio 压力测试
备注: 使用的是yum 安装 1. 安装 yum install -y sysbench 2. 命令 fileio options: --file-num=N number of files ...
- c++中子类转父类,父类转子类
#include <iostream> using namespace std; class Father { public: virtual void show() { cout< ...