京东商品信息爬取

京东商品爬取

1.网址: https:www.jd.com/
2.目标: 输入搜索的商品,爬取内容如下:

1.商品的名称
2.商品的价格
3.评论数量
4.商家名称

3.准备工作

1.搜索框属性值: class=“text”
2.搜索按钮属性值: class=“button”
3.下一页属性值:
能点: class=“pn-next”
不能点: class=“pn-next disabled”
4.页面商品节点对象列表xpath表达式
//div[@id=“J_goodsList”]/ul/li

4.保存数据到csv文件
代码
from selenium import webdriver
import time
import csv

# 创建浏览器对象
# opt = webdriver.ChromeOptions()
# opt.set_headless()
# driver = webdriver.Chrome(options=opt)
driver = webdriver.Chrome()
# 向京东发送请求
driver.get('https://www.jd.com/')
key = input('请输入要爬取的内容:')
driver.find_element_by_class_name('text').send_keys(key)
# 点击搜索
driver.find_element_by_class_name('button').click()
time.sleep(2)
n = 1
# while True:
for i in range(3):
    # 执行JS脚本,进度条拉到最下面
    driver.execute_script(
        'window.scrollTo(0,document.body.scrollHeight)'
    )
    time.sleep(2)
    # 基准xpath,每个商品的节点对象列表
    rList = driver.find_elements_by_xpath('//div[@id="J_goodsList"]//ul/li')
    for r in rList:
        info = r.text.split('\n')
        # 价格
        price = info[0]
        if info[1] != '拍拍':
            name = info[1]
            # 评论
            commit = info[2]
            # 商家
            market = info[3]
        else:
            name = info[2]
            commit = info[3]
            market = info[4]
        L = [price, commit, market, name]
        # 存入csv文件
        with open('京东.csv','a',newline='',encoding='utf-8') as f :
            writer = csv.writer(f)
            writer.writerow(L)
    print('第%d页爬取成功' % i)
    n += 1
    # 点击下一页
    if driver.page_source.find('pn-next disabled') == -1:
        driver.find_element_by_class_name('pn-next').click()
        time.sleep(1)
    else:
        break
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
京东商品可以使用Selenium和Python来完成。下面是一个简单的示例代码,演示如何使用Selenium和Python来京东商品。 首先,需要安装Selenium和Chrome浏览器驱动。可以使用pip来安装Selenium: ``` pip install selenium ``` 然后,下载Chrome浏览器驱动,可以在以下链接中下载:http://chromedriver.chromium.org/downloads 接下来,编写Python代码: ```python from selenium import webdriver import time # 设置Chrome浏览器驱动路径 driver_path = "path/to/chromedriver" driver = webdriver.Chrome(executable_path=driver_path) # 打开京东商品页面 driver.get("https://www.jd.com/") # 等待页面加载完成 time.sleep(5) # 在搜索框中输入关键字并提交 search_box = driver.find_element_by_id("key") search_box.send_keys("手机") search_box.submit() # 等待搜索结果页面加载完成 time.sleep(5) # 获所有商品的名称和价格,并输出到控制台 products = driver.find_elements_by_css_selector(".gl-item .p-name a") prices = driver.find_elements_by_css_selector(".gl-item .p-price strong") for i in range(len(products)): print(products[i].text + " - " + prices[i].text) # 关闭浏览器窗口 driver.quit() ``` 这段代码首先设置Chrome浏览器驱动路径,然后打开京东网站并等待页面加载完成。接着,在搜索框中输入关键字“手机”并提交,然后等待搜索结果页面加载完成。最后,获所有商品的名称和价格,并输出到控制台。 注意:在实际使用中,需要根据自己的需求修改代码中的一些参数,例如Chrome驱动路径、搜索关键字、等待时间等。另外,京东商品存在反虫的风险,建议谨慎使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值