第一步 爬取前准备

安装selenium,以及如何启动自动控制请看下一章。

打开淘宝页面按下F12,即可跳出控制台(开发者模式),这里只要你技术好,网页上的资料你都能轻松获取。温馨提示:爬虫爬的好,牢房坐的早,爬虫不规范,亲人两行泪。

第二步 解决自动搜索

1.选中图中的内容,获取搜索栏

2.同上1,选中指标然后copy内容,copyxpath然后因此代码为

def search_product(key_word):#定位搜索框 browser.find_element_by_id('q').send_keys(key_word) 这里使用的是id,xpath同理#定位搜索框点击browser.find_element_by_xpath('//*[@id="J_TSearchForm"]/div[1]/button').click()

3.点击跳转后淘宝会让你进行登录,所有我们需要一个自动登录账号的方法,以下是我觉得最简单的方法,有其他方法的小伙伴也可在评论区一起讨论

第三 淘宝登录界面自动登录

1.继续使用点击然后copy的方法,登录密码一样,就不做多介绍了。

代码为

    browser.find_element_by_xpath('//*[@id="fm-login-id"]').send_keys(aa.USERNAME)time.sleep(1)browser.find_element_by_xpath('//*[@id="fm-login-password"]').send_keys(aa.UPSSWORD)time.sleep(2)

第四步 滑动条(重点)

先copy方块,模拟人点击之后拖动的效果。

按住拖动之后下面的指会一直加,那我们该怎么办呢。

截图的时候能看到长度大约为370,而方块为56所以,370-(56*2)=258,所以我们可以让浏览器点击之后滑动258个橡树,下方最后一行代码为点击登录。

    login = browser.find_element_by_xpath('//*[@id="nc_1_n1z"]')action = ActionChains(browser)action.click_and_hold(on_element=login)action.move_by_offset(xoffset=258,yoffset=0)action.pause(0.5).release().perform() # perform()执行动作链browser.find_element_by_xpath('//*[@id="login-form"]/div[4]/button').click()

第五步 也就是我们要爬取的标题

依旧还是套用前面的方法,copy然后找到你要的属性,xpath就可以了,这里就不演示了。

def get_product():divs = browser.find_elements_by_xpath('//div[@class="items"]/div[@class="item J_MouserOnverReq  "]')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+'元'# 购买人数nums = div.find_element_by_xpath('.//div[@class="deal-cnt"]').text# 店铺名称name = div.find_element_by_xpath('.//div[@class="shop"]/a').text# 地址name1 = div.find_element_by_xpath('.//div[@class="location"]').text# 打印标题print(info,price,nums,name,name1)# 保存with open('data1.csv',mode='a',newline='',encoding='utf-8-sig') as file:csv_writer=csv.writer(file,delimiter=',') # 指定分隔符csv_writer.writerow([info,price,nums,name])

完整代码

启动前需要新建一个py文件,里面设置两个参数USERNAME(账号),UPSSWORD(密码)

# -*- coding: utf-8 -*-
"""
@file: test.py
@time: 2020/7/17 15:20
@author: 雷姆天下第一
"""
from 淘宝数据挖掘 import  aa  # 放置账号和密码
from selenium import webdriver   # 使用的第三方库
import time
import re
import csv
from selenium.webdriver import ActionChains   # 淘宝登录滑动条
# 搜索商品
def search_product(key_word):#定位搜索框browser.find_element_by_id('q').send_keys(key_word)#定位搜索框点击browser.find_element_by_xpath('//*[@id="J_TSearchForm"]/div[1]/button').click()# 停顿15秒(登录)browser.implicitly_wait(30)# 最大化窗口browser.maximize_window()# 登录页面browser.find_element_by_xpath('//*[@id="fm-login-id"]').send_keys(aa.USERNAME)time.sleep(1)browser.find_element_by_xpath('//*[@id="fm-login-password"]').send_keys(aa.UPSSWORD)time.sleep(2)# 滚动滑条login = browser.find_element_by_xpath('//*[@id="nc_1_n1z"]')action = ActionChains(browser)action.click_and_hold(on_element=login)action.move_by_offset(xoffset=258,yoffset=0)action.pause(0.5).release().perform() # perform()执行动作链browser.find_element_by_xpath('//*[@id="login-form"]/div[4]/button').click()# 查看页数# page_test = browser.find_element_by_xpath('//*[@id="mainsrp-pager"]/div/div/div/div[1]').text# page = re.findall('(\d+)',page_test)[0]# return page
def get_product():divs = browser.find_elements_by_xpath('//div[@class="items"]/div[@class="item J_MouserOnverReq  "]')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+'元'# 购买人数nums = div.find_element_by_xpath('.//div[@class="deal-cnt"]').text# 店铺名称name = div.find_element_by_xpath('.//div[@class="shop"]/a').text# 地址name1 = div.find_element_by_xpath('.//div[@class="location"]').text# 打印标题print(info,price,nums,name,name1)# 保存with open('data1.csv',mode='a',newline='',encoding='utf-8-sig') as file:csv_writer=csv.writer(file,delimiter=',') # 指定分隔符csv_writer.writerow([info,price,nums,name])def main():browser.get('https://www.taobao.com')page = search_product(key_word)page_num=1# 爬取页数while page != page_num:print('*'*100)print("正在爬取{}页的信息".format(page_num))browser.get('https://s.taobao.com/search?q={}&s={}'.format(key_word,page_num))browser.implicitly_wait(10) #等待10秒get_product()page_num += 1
if __name__ == '__main__':key_word = input("请输入你要爬取的关键词:")browser = webdriver.Chrome()main()

小伙伴们,你们学会了吗?

下面是浏览效果图

使用python的selenium爬取淘宝标题价格,就算小白也能看懂的教学!!相关推荐

  1. python使用Selenium爬取淘宝商品信息

           由于淘宝对自动化工具进行了识别,直接进入登录页面滑动二维码一直会报错,所以采取了曲线救国的方式,通过用微博账号来登录淘宝.刚自学<Python3网络爬虫开发实战>,和里面的代 ...

  2. Python爬虫+selenium——爬取淘宝商品信息和数据分析

    浏览器驱动 点击下载chromedrive .将下载的浏览器驱动文件chromedriver丢到Chrome浏览器目录中的Application文件夹下,配置Chrome浏览器位置到PATH环境. 需 ...

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

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

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

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

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

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

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

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

  7. python不登陆爬取淘宝数据_python登录并爬取淘宝信息代码示例

    本文主要分享关于python登录并爬取淘宝信息的相关代码,还是挺不错的,大家可以了解下. #!/usr/bin/env python # -*- coding:utf-8 -*- from selen ...

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

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

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

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

最新文章

  1. 谷歌研究院最新发现:训练结果不准确,超大数据规模要背锅!
  2. 全球域名解析商域名增量Top10:万网增量及涨幅皆第三
  3. Nginx的rewrite之return指令
  4. linux下的精确wait
  5. 基于flask的网页聊天室(四)
  6. python打印文件到字符串_请问Python打印字符串到文本文件
  7. 哈夫曼树【最优二叉树】【Huffman】
  8. JavaScript 是按值传递还是按引用传递的
  9. 堆(基本介绍,代码实现,以及例题)
  10. PHP操作Trait类
  11. PHP报错:iconv(): Detected an illegal character in input string
  12. java8新特性和汪文君Google Guava项目实战视频
  13. java连接带通讯密码的中控考勤机 iface702
  14. 在web服务器上运行html文件,再调用cgi打开txt文件
  15. 各种艺术字、图片在线制作
  16. 永久激活win和office
  17. 编程是门艺术_是编程艺术吗?
  18. Quartus II 8.1 安装破解 方法
  19. 【笔记】Libig从入门到放弃(续)
  20. AD20原理图设计与PCB封装画板--学习笔记

热门文章

  1. Android 定位c++异常
  2. 在 Rmd 中运行 python 代码
  3. Day2.上海地铁网络图路径显示
  4. 欠拟合和过拟合,多项式函数实验
  5. 计算机视觉算法有哪些?
  6. Linux的文件和目录命令(ls、cat、cd)
  7. 5SHY4045L0001 3BHB018162R0001
  8. 温州富商透露发财22条秘诀:坚持看新闻联播
  9. 利用无线物联网控制器实现无线位移测量
  10. 公差与配合part 2