通过 python 采集京东店铺所有商品数据接口,京东店铺商品数据接口,京东 API 接口
由于京东的数据是动态加载的,我们可以使用Selenium模块来模拟用户操作,实现数据的爬取。
具体步骤如下:
安装Selenium模块
在命令行窗口中输入以下命令,即可安装Selenium模块:
pip install selenium
下载浏览器驱动程序Selenium需要依赖浏览器驱动程序来控制浏览器。我们可以根据自己使用的浏览器版本,去下载对应的驱动程序。以Chrome浏览器为例,我们可以到以下网址下载对应的驱动程序:
https://sites.google.com/a/chromium.org/chromedriver/downloads
注意:下载完驱动程序后需要将驱动程序的路径添加到系统的环境变量中,以便Selenium可以找到驱动程序。
编写Python程序
根据京东网站的页面结构,我们可以通过以下步骤来完成数据的爬取:
(1) 打开京东网站的首页,并进入需要爬取的店铺页面。
from selenium import webdriver browser = webdriver.Chrome() browser.get('https://www.jd.com/') search_box = browser.find_element_by_id('key')
search_box.send_keys('店铺名称') search_button = browser.find_element_by_class_name('button')
search_button.click() store_link = browser.find_element_by_xpath('//div[@class="gl-i-wrap"]/a[@target="_blank"]')
store_link.click()
(2) 遍历所有分页,并获取每页的商品数据。
import time
data = []# 循环遍历分页数据while True: # 获取本页的商品数据
items = browser.find_elements_by_xpath('//div[@class="gl-i-wrap"]') for item in items:
title = item.find_element_by_xpath('.//div[@class="p-name"]/a/em')
price = item.find_element_by_xpath('.//div[@class="p-price"]//i')
data.append({'标题': title.text, '价格': price.text}) # 判断是否有下一页
next_page = browser.find_element_by_xpath('//a[@class="pn-next"]') if 'disabled' in next_page.get_attribute('class'): break
# 进入下一页
next_page.click()
time.sleep(1)# 打印所有商品数据for item in data: print(item)
完整代码如下:
JD.item_search_shop - 获得店铺的所有商品接口
1. 请求方式:HTTPS POST GET
2. 请求参数:
请求参数:seller_nick=皓顿HAUTTON京东自营旗舰店&start_price=0&end_price=0&q=&page=1&cid=
参数说明:seller_nick:店铺昵称
start_price:开始价格
end_price:结束价格
q:搜索关键字
page:页数 cid:分类ID
3.请求链接:http://c0b.cc/R4rbK2
4.请求示例,支持高并发(CURL、PHP 、PHPsdk 、Java 、C# 、Python...)
5.响应参数
