Python爬取某宝商品数据案例:100页的价格、购买人数等数据
前言
随着互联网时代的到来,人们更加倾向于互联网购物,某宝又是电商行业的巨头,在某宝平台中有很多商家数据,今天带大家使用python+selenium工具获取这些公开的。
本篇文章适合Python零基础、对爬虫数据采集感兴趣的同学!
环境介绍:
python 3.6
pycharm
selenium
time
selenium简介
自动化测试工具,驱动浏览器帮助我们获取到渲染之后的数据
模仿人的行为操作浏览器(用户行为加上代码逻辑的结合)
安装模块
pip install selenium</pre># 步骤##### 安装Webdriver打开Google浏览器,点击进入设置界面
![](https://upload-images.jianshu.io/upload_images/22699699-7efee1de67cb8173?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)进入界面后点击关于Chrome,然后找到你Google浏览器的版本,安装Webdriver要对应浏览器的版本
![](https://upload-images.jianshu.io/upload_images/22699699-47a8870282b8327e?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)![](https://upload-images.jianshu.io/upload_images/22699699-23de07bd81192b58?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)##### 导入模块
import time import re import csv from selenium import webdriver from selenium.webdriver import ActionChains from 淘宝爬虫 import constans
##### 入口测试代码
def search_product(key): “”“模拟搜索商品,登陆账户,获取最大页数”"" driver.get(‘http://www.taobao.com’)
driver.find_element_by_id(‘q’).send_keys(key) # 输入框输入商品关键字
driver.find_element_by_class_name(‘btn-search’).click() # 点击搜索按钮
driver.implicitly_wait(10) # 隐式等待
driver.maximize_window() # 最大化浏览器
def main()
search_product(keyword) if name == ‘main’:
keyword = input(‘请输入你要查询的商品数据:’)
driver = webdriver.Chrome()
main()
##### 解决登陆和解决滑块验证
driver.find_element_by_xpath('//*[@id="fm-login-id"]').send_keys(constans.USERNAME) # 找到用户名输入账号
time.sleep(1)
driver.find_element_by_xpath('//*[@id="fm-login-password"]').send_keys(constans.PASSWORD) # 找到密码框输入密码
time.sleep(2)login = driver.find_element_by_xpath("//span[contains(@class, 'btn_slide')]") # 找到滑动验证码滑块 手写
action = ActionChains(driver) # 创建动作连对象
action.click_and_hold(on_element=login) # 点击滑块维持动作
action.move_by_offset(xoffset=258, yoffset=0) # 设置动作链坐标长度
action.pause(0.5).release().perform() # 设置动作链执行时间 释放鼠标 执行动作链
driver.find_element_by_xpath('//*[@id="login-form"]/div[4]/button').click() # 找到登陆按钮点击
driver.implicitly_wait(10) # 隐式等待
##### 解析数据
def get_product(): for div in divs:
info = div.find_element_by_xpath(’.//div[@class=“row row-2 title”]/a’).text # 商品名称
price = div.find_element_by_xpath(’.//strong’).text + ‘元’ # 商品价格
deal = div.find_element_by_xpath(’.//div[@class=“deal-cnt”]’).text # 付款人数
name = div.find_element_by_xpath(’.//div[@class=“shop”]/a’).text # 店铺名称
print(info, price, deal, name, sep=’|’) # 分隔符
with open(‘data2.csv’, ‘a’, newline=’’) as csvfile: # newline=’’ 指定一行一行写入
csvwriter = csv.writer(csvfile, delimiter=’,’) # delimiter=’,’ csv数据的分隔符
csvwriter.writerow([info, price, deal, name])```
运行代码,
这样就可以获取第一页的数据了
运行代码,效果如下图:
解析页码
<pre style="margin: 0px; padding: 0px; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"> page = driver.find_element_by_xpath('//*[@id="mainsrp-pager"]/div/div/div/div[1]').text # 找到页码标签page = re.findall('(\d+)', page)[0] # print('商品页数:', page)return int(page) def main(): """程序的入口"""print('正在爬取第1页的数据')page = search_product(keyword)get_product()page_num = 1while page_num != page: print('*' * 100) print('正在爬取第{}页的数据'.format(page_num + 1)) print('*' * 100)driver.get('https://s.taobao.com/search?q={}&s={}'.format(keyword, 44 * page_num)) # 拼接产品url地址driver.implicitly_wait(10) # 浏览器等待方法get_product()page_num += 1 driver.quit()
最后运行代码,就可以爬取100页的数据了
为解决初学者学习上的困难,专门建立的Python学习扣qun:784758214,从0基础的python脚本到web开发、爬虫、django、数据挖掘数据分析等,0基础到项目实战的资料都有整理。送给每一位python的小伙伴!每晚分享一些学习的方法和需要注意的小细节,学习路线规划,利用编程赚外快。点击加入我们的 python学习圈
Python爬取某宝商品数据案例:100页的价格、购买人数等数据相关推荐
- python爬取前程无忧scrapy存mogondb案例
一.分析网页 新:python爬取前程无忧scrapy存mogondb案例+可视化 原网页直达 1.比如java字段,可以先拿到全部的el获取java字段的href,然后在逐个访问进入详情页 2.编写 ...
- python爬取喜马拉雅_Python爬虫实战案例之爬取喜马拉雅音频数据详解
这篇文章我们来讲一下在网站建设中,Python爬虫实战案例之爬取喜马拉雅音频数据详解.本文对大家进行网站开发设计工作或者学习都有一定帮助,下面让我们进入正文. 前言 喜马拉雅是专业的音频分享平台,汇集 ...
- 实战 | 用Python爬取《云南虫谷》3.6万条评论,并做数据统计可视化展示分析,好看!...
最近鬼吹灯系列网剧<云南虫谷>上线,作为鬼吹灯系列作品,承接上部<龙岭迷窟>内容,且还是铁三角原班人马主演,网友直呼非常好看! 今天,我们就用Python爬取目前全部剧集的评论 ...
- 实战|用Python爬取《云南虫谷》3.6万条评论,并做数据统计可视化展示分析,好看!
大家好,我是才哥. 最近鬼吹灯系列网剧<云南虫谷>上线,作为鬼吹灯系列作品,承接上部<龙岭迷窟>内容,且还是铁三角原班人马主演,网友直呼非常好看! 今天,我们就用Python爬 ...
- Python爬取商品信息,包括标题、店铺、价格、评论数量、好评数、差评数、好评率
Python爬取电商商品信息,包括标题.店铺.价格.评论数量.好评数.差评数.好评率 对电商商城数据的爬取主要是评论数量的爬取,标题.店铺.价格等字段可以直接获取网页源码然后通过etree进行解析,但 ...
- python自动化爬取淘宝商品数据导入execl表格!
hello,大家好,我是夜斗小神社! 电商时代,淘宝.京东.天猫商品数据对店铺运营有极大的帮助,因此获取相应店铺商品的数据能够带来极大的价值,那么我们如何获取到相应的数据呢? 上一篇我们讲了pytho ...
- python自动化爬取淘宝商品数据导出execl表格
整体思路: 打开浏览器– 打开url– 最大化浏览器– 点击登录,选择扫码– 登录后输入查询内容– 获取查询内容当前页码的字段– 循环点击下一页直到最后一页– 输出– 关闭浏览器 小白一枚,暂时还不会 ...
- python爬取网易云音乐简单案例
首先找到想要下载的歌曲表单,例如: 打开推荐 点击推荐的歌曲表单 接下来我们尝试爬取这个表单的全部歌曲名,及歌曲的MP3地址 我使用fiddler4抓包工具抓取相关信息 #encoding=utf8 ...
- 九十二、Python爬取深圳租房信息小案例
@Author:Runsen @Date:2020/6/19 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏 ...
- python爬取新闻网站内容_python爬虫案例:抓取网易新闻
此文属于入门级级别的爬虫,老司机们就不用看了. 本次主要是爬取网易新闻,包括新闻标题.作者.来源.发布时间.新闻正文. 首先我们打开163的网站,我们随意选择一个分类,这里我选的分类是国内新闻.然后鼠 ...
最新文章
- 张钹院士:可解释、可理解是人工智能研究的主攻方向 | CCF-GAIR 2018
- 15种CSS居中的方式
- USB 2.0高速和全速的区别
- Python脚本备份数据库
- 飞鸽传书:摆一摆自己的C++程序设计入行历程
- LeetCode-150-Evaluate Reverse Polish Notation
- 【图像分割】基于matlab GUI FCMKFCM MRI图像分割【含Matlab源码 582期】
- 可以检测手机帧率和温度的软件_腾讯黑鲨游戏手机3评测:深度定制带来的全新游戏体验...
- springboot集成微信APP支付V3最新版
- Rayman的绝顶之路——Leetcode每日一题打卡7
- bootstrap导航栏.nav与.navbar区别
- Unity XLua Hotfix热更新配置笔记
- java操作生成Excel报表
- Java 使用 long 出现空指针异常
- List去重 排序 多list 穿插筛选 (java 8)
- 三郎前端特效学习源代码:图片主页轮播组件
- 聊一聊搜索推荐中的 Position Bias
- 这本《第三行代码》,让大家久等了!
- ECshop核心代码
- 年初离职季离职理由大图鉴!