Python自动登陆淘宝并爬取商品数据
前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。
基本开发环境
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自动登陆淘宝并爬取商品数据相关推荐
- Python post请求模拟登录淘宝并爬取商品列表!
一.前言 大概是一个月前就开始做淘宝的爬虫了,从最开始的用selenium用户配置到selenium模拟登录,再到这次的post请求模拟登录.一共是三篇博客,记录了我爬取淘宝网的经历.期间也有朋友向我 ...
- 使用python selenium爬取淘宝商品信息 自动登录淘宝和爬取某一宝贝的主图,属性图和详情图等等
selenium作为一个自动化测试工具非常好用,谁用谁知道啊. 先说如何登录淘宝,淘宝现在直接用会员名和密码登录会有滑块验证,找了网上说的几种方法和自己尝试了一番效果还是不太理想,实测过程中,即使滑块 ...
- Python爬虫-DAY5淘宝页面爬取
申明:本章主要是个人的学习心得笔记 学习来源:中国MOOC课网 https://www.icourse163.org/learn/BIT-1001870001?tid=1461946455#/lear ...
- python -- 使用selenium模拟登录淘宝,爬取商品信息
目录 环境 谷歌驱动下载 解析 结果 代码 环境 windows10 python3.7.3 selenium 谷歌 谷歌驱动 谷歌驱动下载 http://chromedriver.storage.g ...
- 自学爬虫项目(二)一一利用selenium模拟淘宝登录,爬取商品数据
文章目录 前言 一.明确目标 二.分析过程 三.代码封装 总结 前言 你是否还在为学习Python没有方向而苦恼?快来跟着壹乐一起学习吧!让我们共同进步! 今天我们用selenium与Beautifu ...
- python 登陆淘宝_如何用 Python 自动登录淘宝并保存登录信息?
原标题:如何用 Python 自动登录淘宝并保存登录信息? 作者 | 猪哥 责编 | 伍杏玲 前段时间时间为大家讲解了如何使用requests库模拟登录淘宝,而今天我们将对该功能进行丰富.所以我们把之 ...
- python模拟登陆淘宝(更新版)
python模拟登录淘宝,获取cookies,含sign参数破解(新) 旧版方法总结 流程繁琐 需要操作外部工具fildder,方便性差 理解略显困难 成功率不足 新版两种方法 1 扫码登陆:操作简便 ...
- 利用Python模拟登陆淘宝,实现购物秒杀!
模拟登录 学爬虫,总能听到模拟登录这四个字,究竟什么是模拟登录?通俗一点讲,模拟登录就是程序用账号和密码自动登录一个网站.然后,拿到只有登录后,才能下载的网站数据. 很多人学习python,不知道从何 ...
- 利用python爬虫(案例6+part14)--如何爬取科研数据
学习笔记 文章目录 Ajax动态加载网站数据抓取 动态加载的类型 那么该如何抓取数据? 如何得到JSON文件的地址? 观察JSON文件URL地址的查询参数 JSON格式数据转换成python字典 如何 ...
最新文章
- Linux 操作系统原理 — 内存 — 基于 MMU 硬件单元的虚/实地址映射技术
- java 内存区域中的栈
- 【LeetCode刷题记】鹅厂秋招题集(2)
- 黑马Go语言与区块链学习笔记
- java构造方法和实例化,10. JavaSE-子类实例化过程 构造方法间调用
- 25--最后一个单词的长度
- Leetcode--12. 整数转罗马数字
- Vue2.0 新手入门 — 从环境搭建到发布
- 大数据时代投资者应如何利用数据资源盈利
- Python手动安装 package
- mirth connect 3.4 添加java到js代码中
- cad卸载不干净_Adobe系列软件总是卸载不干净?试试这个Adobe卸载工具
- android pc游戏模拟器哪个好用,哪个电脑手游模拟器好用 安卓手游模拟器测试对比排行榜...
- crontab实现秒级的计划任务
- 前端简单使用蓝湖来切图
- JavaFx教程-02第一个javaFX程序
- Warshall‘s algorithm 算法的实现及优化
- 一个不错的404页页【非常抱歉,全站内容审核中...】
- 使用R包networkD3绘制炫酷的动态关系网络
- 【AI算法】数据分析
热门文章
- Sagittarius's Trial I - 9 HDU - 1754 I Hate It
- alm系统的使用流程_HPQC测试管理平台ALM操作使用手册.doc
- 这可能最全的操作系统面试题
- GeneXus Beta版本已经集成区块链技术
- 分享WIN7输入法图标不显示的几种解决方法
- 集群节点启动报错 BEA-000386
- 让程序自动玩数独游戏让你秒变骨灰级数独玩家
- 以前Java恐龙,侏罗纪已过去亿万年,恐龙样貌如何被还原?
- 职中计算机专业自我鉴定400字,中职计算机专业毕业自我鉴定
- SpringBoot集成支付宝沙箱手机网站支付详细流程和踩坑分享