使用selenium 爬取苏宁任意关键字的商品

'''
    需求
        使用selenium 爬取任意关键字的商品
    自动化selenium:
        自动化是模拟真人的步骤
        1:访问苏宁页面
        2: 元素定位 定位到指定元素(标签)  在这个需求中 是要定位到输入框
        3: 输入框 输入对应的关键字
        4: 定位到搜索这个元素  进行点击操作
        5: 获取页面源码 使用xpath解析
'''
from selenium import webdriver
import time
from lxml import etree

# 实例化驱动
browser = webdriver.Chrome()  # 单词C是大写的 后面的括号不能漏
browser.maximize_window()
# 1:访问苏宁页面
browser.get("https://www.suning.com/")
#  2: 元素定位 定位到指定元素(标签)  在这个需求中 是要定位到输入框
#  3: 输入框 输入对应的关键字
browser.find_element_by_id('searchKeywords').send_keys("手机")
#   4: 定位到搜索这个元素  进行点击操作
browser.find_element_by_id('searchSubmit').click()
# 给页面一些加载的时间
time.sleep(2)
#  selenium 可以执行js代码
#  window.scrollTo(0,document.documentElement.scrollHeight)  拉动滚动条到页面底部
browser.execute_script('window.scrollTo(0,document.documentElement.scrollHeight)')
# 5: 获取页面源码 使用xpath解析
# print(browser.page_source)
time.sleep(5)
tree = etree.HTML(browser.page_source)

li_list = tree.xpath('//ul[@class="general clearfix"]/li')

for li in li_list:
    title = li.xpath('.//div[@class="title-selling-point"]/a/text()')  # 标题
    title = ''.join(title).replace('\n','')
    price = li.xpath('.//div[@class="price-box"]/span/text()')  # 价格
    price = ''.join(price).replace('\n', '')
    evaluate = li.xpath('.//div[@class="info-evaluate"]/a//text()')  # 评价数
    evaluate = ''.join(evaluate)
    store = li.xpath('.//div[@class="store-stock"]/a/text()')[0]  # 店铺名字
    print(title,price,evaluate,store)
    # print(price)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>