码迷,mamicode.com
首页 > 编程语言 > 详细

价值千元的Python爬虫外包项目,采集淘宝商品数据

时间:2020-10-16 10:27:41      阅读:29      评论:0      收藏:0      [点我收藏+]

标签:containe   需要   搜索   google   tao   process   插入图片   selected   selector   

前言

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

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!??¤
QQ群:961562169

 

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同目录即可。

或者

把驱动和代码放在同一个路径里面~

确定目标网页

技术图片技术图片?

Selenium 就是模拟人的行为去操作~ 按照流程~

爬取内容:

  • 商品价格
  • 商品名字
  • 销量
  • 店铺名字
  • 发货地

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

driver.find_element_by_css_selector(‘#q‘).send_keys(‘女式包包‘)
技术图片

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

driver.find_element_by_css_selector(‘.search-button‘).click()
技术图片

3、会弹出登陆页面

  • 方案一
    - 获取账号和密码元素,用代码输入~ 合理设置好延时,并不会出现验证码~
  • 方案二
    - 获取支付宝登陆元素,点击手动扫码登陆
    技术图片技术图片?
    这边选择方案二,方案一是可行的,但是会账号密码,所以这个你们可以自己去尝试
driver.find_element_by_css_selector(‘#login-form > div.login-blocks.sns-login-links > a.alipay-login‘).click()
技术图片

4、获取商品列表页数据
技术图片技术图片?
和普通爬虫解析网站数据一样的~获取列表页标签,然后再二次提取。

这里创建一个字典,接收数据,方便等会保存到csv文件。

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

5、保存数据

最后一步就是保存数据了,基本操作了

f = open(‘淘宝数据.csv‘, mode=‘a‘, encoding=‘utf-8-sig‘, newline=‘‘)
csv_writer = csv.DictWriter(f, fieldnames=[‘商品价格‘, ‘成交量‘, ‘商品名字‘, ‘店铺名字‘, ‘发货地址‘])
csv_writer.writeheader()
csv_writer.writerow(dit)
技术图片

6、翻页点击下一页

def next_page():
    driver.find_element_by_css_selector(‘#mainsrp-pager > div > div > div > ul > li.item.next > a‘).click()
    driver.implicitly_wait(10)
技术图片

7、运行效果图
技术图片技术图片?
技术图片技术图片?

价值千元的Python爬虫外包项目,采集淘宝商品数据

标签:containe   需要   搜索   google   tao   process   插入图片   selected   selector   

原文地址:https://www.cnblogs.com/sn8888/p/13820156.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!