Python使用selenium自动爬取苏宁易购商品数据

news/2024/7/19 12:33:13 标签: python, selenium, 开发语言, pycharm, 学习, 爬虫

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取

环境介绍:

selenium:

人是怎么操作浏览器的 那么代码就怎么写

代码思路

  1. 开启一个浏览器 (谷歌)

  2. 输入链接地址 打开网页

  3. 提取数据

  4. 保存数据

代码展示

导入模块

python">'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
import csv

写表头

python">with open('suning.csv', mode='w', newline='', encoding='utf-8') as f:
    csv_writer = csv.writer(f)
    csv_writer.writerow(['title', 'price', 'comment', 'store', 'href'])
  1. 开启一个浏览器 (谷歌)
python">driver = webdriver.Chrome()
  1. 输入链接地址 打开网页
python">driver.get('https://search.suning.com/%E7%94%B5%E8%A7%86/?safp=d488778a.homepagev8.gSearch.5&safc=hotkeyword.0.0&safpn=10001')
for page in range(20):

3.1 让页面往下滚动

python">    # document.querySelector("body > div.ng-footer > div.ng-s-footer").scrollIntoView()
    driver.execute_script('document.querySelector("body > div.ng-footer > div.ng-s-footer").scrollIntoView()')
    time.sleep(2)

3.2 提取数据

python">'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
    items = driver.find_elements(By.CSS_SELECTOR, '.item-bg')
    for item in items:
        title = item.find_element(By.CSS_SELECTOR, '.title-selling-point').text
        price = item.find_element(By.CSS_SELECTOR, '.price-box').text
        comment = item.find_element(By.CSS_SELECTOR, '.evaluate-old.clearfix').text
        store = item.find_element(By.CSS_SELECTOR, '.store-stock').text
        href = item.find_element(By.CSS_SELECTOR, '.title-selling-point a').get_attribute('href')
        print(title, price, comment, store, href)
        # 写数据
        with open('suning.csv', mode='a', newline='', encoding='utf-8') as f:
            csv_writer = csv.writer(f)
            csv_writer.writerow([title, price, comment, store, href])
    # 点击下一页
    driver.execute_script('document.querySelector("#nextPage").click()')
# 阻塞
input()

尾语

最后感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇


http://www.niftyadmin.cn/n/5296178.html

相关文章

亚信安慧AntDB数据库——通信运营商核心系统的全面演进

AntDB数据库源自通信运营商核心系统,经过15年的平稳运行和不断演进,成功跟随通信技术的升级步伐,逐步迈向5G时代,并且在这期间完成了8次大版本的迭代,为行业树立了技术领先的典范。其独特之处在于具备超融合架构&#…

leetcode贪心算法题总结(一)

此系列分三章来记录leetcode的有关贪心算法题解,题目我都会给出具体实现代码,如果看不懂的可以后台私信我。 本章目录 1.柠檬水找零2.将数组和减半的最少操作次数3.最大数4.摆动序列5.最长递增子序列6.递增的三元子序列7.最长连续递增序列8.买卖股票的最…

[leetcode] 四数之和 M

:::details 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复):…

Java注解学习,一文掌握@Autowired 和 @Resource 注解区别

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

ansible管理windows测试

一、环境介绍 Ansible管理主机: 系统: redhat7.6 Linux管理服务器需安装pywinrm插件 Windows客户端主机: 系统: Server2012R2 Windows机器需要安装或升级powershell4.0以上版本,Server2008R2默认的版本是2.0,因此必须升…

IPD-PDP产品开发流程-PDT产品开发计划Charter文档模板(word)3

今天继续为家分享PDT的产品开发计划Charter模板的内容。 Charter任务书模板内容7:人力资源和技能需求 在这一部分,列出项目在不同阶段所需要的不同人力资源需求、数量、能力要求,以及对于一些特殊人力资源的需求。 7.1不同阶段的人力资源汇…

我说的这些真心话,你都信?!

关注 ▲晓衡的游戏开发圈▲ 一起共同成长这是晓衡公众号第 524 篇原创分享 你信吗? 我锻炼身体不是为了抖掉 90% 的负面情绪,只为第二天能更好地继续前行,而是想拥有八块腹肌和更好的身材。 我练习写作不是为了要训练大脑的逻辑推理能力将一件…

计算机硬件 4.3显示器

第三节 显示器 一、基本概念 1.定义:将电信号转换为可以直接看到的图像的最基本输出设备。 2.分类:按显示色彩分:单色显示器、彩色显示器。 按显示原理分:CRT显示器、LCD显示器、LED显示器、OLED显示器。 3.原理结构&#xff…