前言

随着互联网时代的到来,人们更加倾向于互联网购物,某宝又是电商行业的巨头,在某宝平台中有很多商家数据,今天带大家使用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: &quot;Courier New&quot; !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页的价格、购买人数等数据相关推荐

  1. python爬取前程无忧scrapy存mogondb案例

    一.分析网页 新:python爬取前程无忧scrapy存mogondb案例+可视化 原网页直达 1.比如java字段,可以先拿到全部的el获取java字段的href,然后在逐个访问进入详情页 2.编写 ...

  2. python爬取喜马拉雅_Python爬虫实战案例之爬取喜马拉雅音频数据详解

    这篇文章我们来讲一下在网站建设中,Python爬虫实战案例之爬取喜马拉雅音频数据详解.本文对大家进行网站开发设计工作或者学习都有一定帮助,下面让我们进入正文. 前言 喜马拉雅是专业的音频分享平台,汇集 ...

  3. 实战 | 用Python爬取《云南虫谷》3.6万条评论,并做数据统计可视化展示分析,好看!...

    最近鬼吹灯系列网剧<云南虫谷>上线,作为鬼吹灯系列作品,承接上部<龙岭迷窟>内容,且还是铁三角原班人马主演,网友直呼非常好看! 今天,我们就用Python爬取目前全部剧集的评论 ...

  4. 实战|用Python爬取《云南虫谷》3.6万条评论,并做数据统计可视化展示分析,好看!

    大家好,我是才哥. 最近鬼吹灯系列网剧<云南虫谷>上线,作为鬼吹灯系列作品,承接上部<龙岭迷窟>内容,且还是铁三角原班人马主演,网友直呼非常好看! 今天,我们就用Python爬 ...

  5. Python爬取商品信息,包括标题、店铺、价格、评论数量、好评数、差评数、好评率

    Python爬取电商商品信息,包括标题.店铺.价格.评论数量.好评数.差评数.好评率 对电商商城数据的爬取主要是评论数量的爬取,标题.店铺.价格等字段可以直接获取网页源码然后通过etree进行解析,但 ...

  6. python自动化爬取淘宝商品数据导入execl表格!

    hello,大家好,我是夜斗小神社! 电商时代,淘宝.京东.天猫商品数据对店铺运营有极大的帮助,因此获取相应店铺商品的数据能够带来极大的价值,那么我们如何获取到相应的数据呢? 上一篇我们讲了pytho ...

  7. python自动化爬取淘宝商品数据导出execl表格

    整体思路: 打开浏览器– 打开url– 最大化浏览器– 点击登录,选择扫码– 登录后输入查询内容– 获取查询内容当前页码的字段– 循环点击下一页直到最后一页– 输出– 关闭浏览器 小白一枚,暂时还不会 ...

  8. python爬取网易云音乐简单案例

    首先找到想要下载的歌曲表单,例如: 打开推荐 点击推荐的歌曲表单 接下来我们尝试爬取这个表单的全部歌曲名,及歌曲的MP3地址 我使用fiddler4抓包工具抓取相关信息 #encoding=utf8 ...

  9. 九十二、Python爬取深圳租房信息小案例

    @Author:Runsen @Date:2020/6/19 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏 ...

  10. python爬取新闻网站内容_python爬虫案例:抓取网易新闻

    此文属于入门级级别的爬虫,老司机们就不用看了. 本次主要是爬取网易新闻,包括新闻标题.作者.来源.发布时间.新闻正文. 首先我们打开163的网站,我们随意选择一个分类,这里我选的分类是国内新闻.然后鼠 ...

最新文章

  1. 张钹院士:可解释、可理解是人工智能研究的主攻方向 | CCF-GAIR 2018
  2. 15种CSS居中的方式
  3. USB 2.0高速和全速的区别
  4. Python脚本备份数据库
  5. 飞鸽传书:摆一摆自己的C++程序设计入行历程
  6. LeetCode-150-Evaluate Reverse Polish Notation
  7. 【图像分割】基于matlab GUI FCMKFCM MRI图像分割【含Matlab源码 582期】
  8. 可以检测手机帧率和温度的软件_腾讯黑鲨游戏手机3评测:深度定制带来的全新游戏体验...
  9. springboot集成微信APP支付V3最新版
  10. Rayman的绝顶之路——Leetcode每日一题打卡7
  11. bootstrap导航栏.nav与.navbar区别
  12. Unity XLua Hotfix热更新配置笔记
  13. java操作生成Excel报表
  14. Java 使用 long 出现空指针异常
  15. List去重 排序 多list 穿插筛选 (java 8)
  16. 三郎前端特效学习源代码:图片主页轮播组件
  17. 聊一聊搜索推荐中的 Position Bias
  18. 这本《第三行代码》,让大家久等了!
  19. ECshop核心代码
  20. 年初离职季离职理由大图鉴!

热门文章

  1. android 设置应用权限管理,几种安卓权限管理应用介绍
  2. 阿里技术专家:一文教你高效画出技术架构图
  3. m分别使用ESN网络,ESN+RBF神经网络以及ESN+Volterra网络进行数据预测对比仿真
  4. 【图像处理】基于matlab自动报靶系统(重弹孔)
  5. MP4、 MPEG-4区别
  6. nagios监控系统环境部署安装(LAMP环境)
  7. 剑道独尊 无上剑意(下)
  8. gcc -O0 -g 和gcc -O3 -g
  9. QT 和Ogre Demo
  10. Opengl ES之FBO