前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

基本开发环境

  • Python 3.6

  • Pycharm

import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import csv

相关模块pip安装即可

selenium

Selenium 是一个 Web 的自动化测试工具,最初是为网站自动化测试而开发的,就像玩游戏用的按键精灵,可以按指定的命令自动操作。

Selenium 测试工具直接操控浏览器中,就像真正的用户在操作一样。Selenium 可以根据的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生等。

模块安装

pip install selenium

谷歌驱动下载地址:

https://npm.taobao.org/mirrors/chromedriver/
http://chromedriver.storage.googleapis.com/index.html

配置浏览器驱动:

将下载好的浏览器驱动解压,将解压出的 exe 文件放到Python的安装目录下,也就是和python.exe同目录即可。

或者把驱动和代码放在同一个路径里面。

确定目标网页

爬取内容:

  • 商品名字

  • 商品店铺

  • 价格

  • 成交量

  • 发货地址

1、获取搜索框元素,输入想要搜索的内容 这里咱们搜索女士包包的关键词

driver.find_element_by_css_selector('#q').send_keys('口红')

2、获取搜索按钮元素,点击搜索

driver.find_element_by_css_selector('.search-button').click()

3、会弹出登陆页面

方式一:

点击二维码,手动扫码登陆淘宝;

方式二:

获取账号和密码元素,用代码输入~;

注意点:如果账号密码输入过快,会出现滑块验证,输入的频率控制好,可以避免出现验证码,实现自动输入账号密码登陆。

4、获取页面每个商品元素

每一个商品信息都包含在div标签里面,先获取所有div标签元素,然后再遍历获取每一个商品的详细信息。

    lis = driver.find_elements_by_css_selector('#mainsrp-itemlist .item')for li in lis:time.sleep(1)price = li.find_element_by_css_selector('.ctx-box .price strong').text + '元'  # 商品价格deal = li.find_element_by_css_selector('.ctx-box .deal-cnt').text  # 成交量row = li.find_element_by_css_selector('.ctx-box .row-2 a').text  # 商品名字shop = li.find_element_by_css_selector('.shop > a > span:nth-child(2)').text  # 店铺名字city = li.find_element_by_css_selector('.row-3 > div.location').text  # 发货地址

注意点:可以稍加延时,避免页面没有加载完成导致网页元素获取不到的报错问题

获取商品数据之后,可以通过csv文件把相关内容保存至本地

5、保存数据

f = open('淘宝数据.csv', mode='a', encoding='utf-8-sig', newline='')
csv_writer = csv.DictWriter(f, fieldnames=['商品价格', '成交量', '商品名字', '店铺名字', '发货地址'])
csv_writer.writeheader()
"""
写入第四步
"""dit = {'商品价格': price,'成交量': deal,'商品名字': row,'店铺名字': shop,'发货地址': city,}csv_writer.writerow(dit)

这样一页的商品数据就可以保存下来了,我们想要获取的数据肯定是不仅一页

6、翻页

获取下一页元素,进行点击

def next_page():time.sleep(1)driver.find_element_by_css_selector('#mainsrp-pager > div > div > div > ul > li.item.next > a > span:nth-child(1)').click()driver.implicitly_wait(10)

7、实现效果

Python自动登陆淘宝并爬取商品数据相关推荐

  1. Python post请求模拟登录淘宝并爬取商品列表!

    一.前言 大概是一个月前就开始做淘宝的爬虫了,从最开始的用selenium用户配置到selenium模拟登录,再到这次的post请求模拟登录.一共是三篇博客,记录了我爬取淘宝网的经历.期间也有朋友向我 ...

  2. 使用python selenium爬取淘宝商品信息 自动登录淘宝和爬取某一宝贝的主图,属性图和详情图等等

    selenium作为一个自动化测试工具非常好用,谁用谁知道啊. 先说如何登录淘宝,淘宝现在直接用会员名和密码登录会有滑块验证,找了网上说的几种方法和自己尝试了一番效果还是不太理想,实测过程中,即使滑块 ...

  3. Python爬虫-DAY5淘宝页面爬取

    申明:本章主要是个人的学习心得笔记 学习来源:中国MOOC课网 https://www.icourse163.org/learn/BIT-1001870001?tid=1461946455#/lear ...

  4. python -- 使用selenium模拟登录淘宝,爬取商品信息

    目录 环境 谷歌驱动下载 解析 结果 代码 环境 windows10 python3.7.3 selenium 谷歌 谷歌驱动 谷歌驱动下载 http://chromedriver.storage.g ...

  5. 自学爬虫项目(二)一一利用selenium模拟淘宝登录,爬取商品数据

    文章目录 前言 一.明确目标 二.分析过程 三.代码封装 总结 前言 你是否还在为学习Python没有方向而苦恼?快来跟着壹乐一起学习吧!让我们共同进步! 今天我们用selenium与Beautifu ...

  6. python 登陆淘宝_如何用 Python 自动登录淘宝并保存登录信息?

    原标题:如何用 Python 自动登录淘宝并保存登录信息? 作者 | 猪哥 责编 | 伍杏玲 前段时间时间为大家讲解了如何使用requests库模拟登录淘宝,而今天我们将对该功能进行丰富.所以我们把之 ...

  7. python模拟登陆淘宝(更新版)

    python模拟登录淘宝,获取cookies,含sign参数破解(新) 旧版方法总结 流程繁琐 需要操作外部工具fildder,方便性差 理解略显困难 成功率不足 新版两种方法 1 扫码登陆:操作简便 ...

  8. 利用Python模拟登陆淘宝,实现购物秒杀!

    模拟登录 学爬虫,总能听到模拟登录这四个字,究竟什么是模拟登录?通俗一点讲,模拟登录就是程序用账号和密码自动登录一个网站.然后,拿到只有登录后,才能下载的网站数据. 很多人学习python,不知道从何 ...

  9. 利用python爬虫(案例6+part14)--如何爬取科研数据

    学习笔记 文章目录 Ajax动态加载网站数据抓取 动态加载的类型 那么该如何抓取数据? 如何得到JSON文件的地址? 观察JSON文件URL地址的查询参数 JSON格式数据转换成python字典 如何 ...

最新文章

  1. Linux 操作系统原理 — 内存 — 基于 MMU 硬件单元的虚/实地址映射技术
  2. java 内存区域中的栈
  3. 【LeetCode刷题记】鹅厂秋招题集(2)
  4. 黑马Go语言与区块链学习笔记
  5. java构造方法和实例化,10. JavaSE-子类实例化过程 构造方法间调用
  6. 25--最后一个单词的长度
  7. Leetcode--12. 整数转罗马数字
  8. Vue2.0 新手入门 — 从环境搭建到发布
  9. 大数据时代投资者应如何利用数据资源盈利
  10. Python手动安装 package
  11. mirth connect 3.4 添加java到js代码中
  12. cad卸载不干净_Adobe系列软件总是卸载不干净?试试这个Adobe卸载工具
  13. android pc游戏模拟器哪个好用,哪个电脑手游模拟器好用 安卓手游模拟器测试对比排行榜...
  14. crontab实现秒级的计划任务
  15. 前端简单使用蓝湖来切图
  16. JavaFx教程-02第一个javaFX程序
  17. Warshall‘s algorithm 算法的实现及优化
  18. 一个不错的404页页【非常抱歉,全站内容审核中...】
  19. 使用R包networkD3绘制炫酷的动态关系网络
  20. 【AI算法】数据分析

热门文章

  1. Sagittarius's Trial I - 9 HDU - 1754 I Hate It
  2. alm系统的使用流程_HPQC测试管理平台ALM操作使用手册.doc
  3. 这可能最全的操作系统面试题
  4. GeneXus Beta版本已经集成区块链技术
  5. 分享WIN7输入法图标不显示的几种解决方法
  6. 集群节点启动报错 BEA-000386
  7. 让程序自动玩数独游戏让你秒变骨灰级数独玩家
  8. 以前Java恐龙,侏罗纪已过去亿万年,恐龙样貌如何被还原?
  9. 职中计算机专业自我鉴定400字,中职计算机专业毕业自我鉴定
  10. SpringBoot集成支付宝沙箱手机网站支付详细流程和踩坑分享