江山代有才人出,各领风骚数百年 ——清·赵翼 《论诗五首·其二》
长江后浪推前浪,浮事新人换旧人 ——宋·刘斧《青琐高议》

东西用时间长了就该换新的了,特别是手机,这几年发展太快,APP是越来越大,内存是越来越不够用了,想要换新的手机,但不知道换什么,那今天就爬一下淘宝,看一下淘宝手机的数据,参考一下

我的开发环境:python3.8
计算机系统:Windows10
开发工具:pycharm
要用的包:selenium、csv、time
网址:https://www.taobao.com/
今天用的是自动化测试工具selenium,没有这个包的同学可以用pip install selenium 来安装
安装完之后还需要安装个浏览器驱动,我用的是谷歌浏览器

http://chromedriver.storage.googleapis.com/index.html
打开这个链接,找到你浏览器版本所对应的驱动,这是我的浏览器版本

可以看到我的版本是94.0.4606.81 没有找到一样的就找低一个版本的

选择对应的系统,我的是win系统

把下载的压缩文件解压后,放到python解释器的当前文件夹下

验证一下

from selenium.webdriver import Chromeweb = Chrome()
web.get('https://www.baidu.com')

如果正常出现网页就成功了,注意,一定要和你的版本相匹配,不然就会出现这样

这个是我把浏览器更新之后驱动版本太低不支持了

至于其他浏览器在这里就不做太多的叙述了,流程大体相同,至于网站可以在网上找一下,下面进入正题

selenium是模拟人正常在浏览器上的操作,正常我们打开网页在搜索框输入内容点击搜索

import time
import csv
from selenium.webdriver import Chromedef main():win.get('https://www.taobao.com/')win.find_element_by_xpath('//*[@id="q"]').send_keys(commodity)      # 点击搜索框,输入前面想要搜索的内容win.find_element_by_xpath('//*[@id="J_TSearchForm"]/div[1]/button').click()     # 点击搜索按钮win.maximize_window()       # 将网页放大方便我们扫码登录time.sleep(15)              # 等待15秒 让我们有时间扫码if __name__ == '__main__':commodity = input('想要查询的商品:')win = Chrome()main()

这里需要我们扫码登录才让我们搜索

我们在分析一下搜索界面,发现所有的商品数据都放在div标签里,可以看到不是所有的div里都有商品数据,是从第四个div开始有数据,这些div都有共同的特征,那就是属性都是一样的,可以用xpath通过class定位进行晒选


items = win.find_elements_by_xpath('//div[@class="items"]/div[@class="item J_MouserOnverReq  "]')

这里需要注意一点因为我们选取了许多个div,所以find_elements_by_xpath里的element一定要加s,这样才返回列表,前面选取搜索框和搜索按钮的时候是不加s的

将获取的div遍历取出我们想要数据

    for item in items:# 旗舰店store = item.find_element_by_xpath('.//div[@class="shop"]/a').text# 商品简述desc = item.find_element_by_xpath('./div[2]/div[2]/a').text# 价格price = item.find_element_by_xpath('./div[2]/div/div/strong').text# 人数num = item.find_element_by_xpath('.//div[@class="deal-cnt"]').text# 地址address = item.find_element_by_xpath('.//div[@class="location"]').text

再将获取的数据存储到以搜索名称命名的csv文件中

        with open(f'{commodity}.csv', mode='a', newline='', encoding='utf-8-sig')as f:csv_writ = csv.writer(f, delimiter=',')csv_writ.writerow([store, desc, price, num, address])

附上结果

这次先这样下次再将获取到的数据进行可视化生成柱状图、饼状图及地图分布

全部代码如下

import time
import csv
from selenium.webdriver import Chromedef get_data():items = win.find_elements_by_xpath('//div[@class="items"]/div[@class="item J_MouserOnverReq  "]')for item in items:# 旗舰店store = item.find_element_by_xpath('.//div[@class="shop"]/a').text# 商品简述desc = item.find_element_by_xpath('./div[2]/div[2]/a').text# 价格price = item.find_element_by_xpath('./div[2]/div/div/strong').text# 人数num = item.find_element_by_xpath('.//div[@class="deal-cnt"]').text# 地址address = item.find_element_by_xpath('.//div[@class="location"]').textwith open(f'{commodity}.csv', mode='a', newline='', encoding='utf-8-sig')as f:csv_writ = csv.writer(f, delimiter=',')csv_writ.writerow([store, desc, price, num, address])def main():win.get('https://www.taobao.com/')win.find_element_by_xpath('//*[@id="q"]').send_keys(commodity)      # 点击搜索框,输入前面想要搜索的内容win.find_element_by_xpath('//*[@id="J_TSearchForm"]/div[1]/button').click()     # 点击搜索按钮win.maximize_window()       # 将网页放大方便我们扫码登录time.sleep(15)              # 等待15秒 让我们有时间扫码get_data()if __name__ == '__main__':commodity = input('想要查询的商品:')win = Chrome()main()

程序员怎样买东西呢---selenium爬取淘宝数据相关推荐

  1. 使用自动化工具selenium爬取淘宝数据!这个框架太牛逼了!

    准备工作 爬虫所需的库和浏览器驱动 本次爬虫所需要的库 selenium #可使用pip命令安装 pip install selenium csv re time 安装浏览器驱动 以谷歌浏览器为例,在 ...

  2. 利用Selenium爬取淘宝商品信息

    文章来源:公众号-智能化IT系统. 一.  Selenium和PhantomJS介绍 Selenium是一个用于Web应用程序测试的工具,Selenium直接运行在浏览器中,就像真正的用户在操作一样. ...

  3. 使用Selenium爬取淘宝商品(绕过登录页面)

    文章目录 1.准备工作 2.接口分析 3.页面分析 4.获取商品列表 5.解析商品列表 6.保存到MongoDB 7.遍历每页 8.异常处理(绕过登录反爬机制) 方法一:修改ChromeDriver. ...

  4. selenium爬取淘宝商品基础数据以及商品详情(茶叶数据)

    selenium爬取淘宝商品基础数据以及商品详情 目录 网页分析 确定要爬取的数据 分析网页构成 爬取流程 登入 爬取基础数据以及商品详情 爬取基础数据 爬取商品详情 淘宝滑动验证码 保存EXCEL中 ...

  5. [Python3网络爬虫开发实战] 7-动态渲染页面爬取-4-使用Selenium爬取淘宝商品

    在前一章中,我们已经成功尝试分析Ajax来抓取相关数据,但是并不是所有页面都可以通过分析Ajax来完成抓取.比如,淘宝,它的整个页面数据确实也是通过Ajax获取的,但是这些Ajax接口参数比较复杂,可 ...

  6. Python + selenium 爬取淘宝商品列表及商品评论 2021-08-26

    Python + selenium 爬取淘宝商品列表及商品评论[2021-08-26] 主要内容 登录淘宝 获取商品列表 获取评论信息 存入数据库 需要提醒 主要内容 通过python3.8+ sel ...

  7. 使用selenium爬取淘宝实战.md

    ##使用selenium爬取淘宝实战 确定要爬取的内容 爬取左侧的一级类型(女装/男装/内衣等等),和右侧的二级类型(秋上新/连衣裙等等) 导入selenium 在这之前需要安装webdriver 可 ...

  8. python爬虫——用selenium爬取淘宝商品信息

    python爬虫--用selenium爬取淘宝商品信息 1.附上效果图 2.淘宝网址https://www.taobao.com/ 3.先写好头部 browser = webdriver.Chrome ...

  9. PhantomJS+Selenium爬取淘宝

    文章目录 动态网页处理 PhantomJS Selenium 处理异步请求 模拟键盘操作 页面等待 显示等待 隐式等待 Phantomjs+Selenuim爬取淘宝 动态网页处理 很多网站都采用AJA ...

最新文章

  1. Coronascape – 为COVID-19研究特制的基因列表比较工具
  2. “六成应用开发不需要程序员”喜提热搜背后,RPA 会抢饭碗吗?
  3. python中读写excel的扩展库_Python读写Excel文件第三方库汇总,你想要的都在这儿!...
  4. 三角窗 matlab,【matlab】矩形窗/三角窗/hanning窗/hamming窗/blackman窗的頻率響應圖
  5. Python-list中的append()和extend()方法区别
  6. Spring Boot 注解配置文件自动映射到属性和实体类
  7. 数据库:MySQL、HBase、ElasticSearch三者对比
  8. Java中数组的初始化
  9. php商品报损流程,库存报损
  10. JAVA入门到精通-第16讲-数组
  11. python程序员工资高吗_Python程序员必备:EDA数据分析神器,老板疯狂加工资
  12. 1.4部署到IIS「深入浅出ASP.NET Core系列」
  13. ThinkPHP3.2.3完全开发手册离线手册
  14. android 屏幕宽高
  15. Windows 内核会换为 Linux 吗?
  16. EfficientDeRainy:一种高效的图像去雨雾算法
  17. c语言二维数组a中,a,a[0],a[0][0]的值与值的类型
  18. Dart快速学习之路(完整版)
  19. [嵌入式]汉字字模点阵
  20. hdu 5148 Cities(树形背包)

热门文章

  1. POP3协议110端口渗透
  2. Android安卓手机能不能实现BT文件边下边播?
  3. WPF UI开发教程LinkButton链接按钮
  4. java 判断是否是小数_java判断数字类型(小数和整数)
  5. 408考研数据结构与算法之数组、链表、队列、栈知识点和算法详细教程(更新中)
  6. 闭门造轮(LVGL_2)
  7. 创建AWS ECS Fargate
  8. XP开放1433端口
  9. 判断题 计算机操作系统只有Windows,计算机的操作系统练习题.doc
  10. mysql 之general_log日志