爬虫学习笔记——Selenium爬取淘宝商品信息并保存

本文介绍了如何利用Python的Selenium库模拟浏览器操作,突破淘宝的反爬机制,进行品牌男鞋销量排名的爬取。首先,文章详细说明了安装selenium和pyquery以及配置ChromeDriver的步骤。接着,讲述了如何模拟登陆淘宝并针对特定商品类别进行页面爬取,包括商品价格、销量、介绍、地址和图片链接等信息的提取。最后,将爬取的数据存储到JSON文件中。
摘要由CSDN通过智能技术生成

在使用selenium来模拟浏览器操作,抓取淘宝商品信息前,先完成一些准备工作。

准备工作:需要安装selenium,pyquery,以及Chrome浏览器并配置ChromeDriver。

安装selenium:pip install selenium
安装pyquery:pip install pyquery
ChromeDriver配置:参考Window 下配置ChromeDriver

做好这些之后开始进入正题:选择各类品牌男鞋销量高到低进行爬取

1、突破反爬虫

要爬取淘宝首先要突破淘宝的反爬机制,这里用selenium模拟器微博登陆淘宝
通过模拟点击网页输入登陆淘宝
在这里插入图片描述
在这里插入图片描述

#对象初始化
def __init__(self):
    url = 'https://login.taobao.com/member/login.jhtml'
    self.url = url
    options = webdriver.ChromeOptions()
    options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2}) # 不加载图片,加快访问速度
    options.add_experimental_option('excludeSwitches', ['enable-automation']) # 此步骤很重要,设置为开发者模式,防止被各大网站识别出来使用了Selenium

    self.browser = webdriver.Chrome(options=options)

    self.wait = WebDriverWait(self.browser, 10) #超时时长为10s

#登录淘宝
def login(self):

    # 打开网页
    self.browser.get(self.url)

    # 自适应等待,点击密码登录选项
    self.browser.implicitly_wait(30) #智能等待,直到网页加载完毕,最长等待时间为30s
    self.browser.find_element_by_xpath('//*[@class="forget-pwd J_Quick2Static"]').click()

    # 自适应等待,点击微博登录宣传
    self.browser.implicitly_wait(30)
    self.browser.find_element_by_xpath('//*[@class="weibo-login"]').click()

    # 自适应等待,输入微博账号
    self.browser.implicitly_wait(30)
    self.browser.find_element_by_name('username').send_keys(weibo_username)

    # 自适应等待,输入微博密码
    self.browser.implicitly_wait(30)
    self.browser.find_element_by_name('password').send_keys(weibo_password)

    # 自适应等待,点击确认登录按钮
    self.browser.implicitly_wait(30)
    self.browser.find_element_by_xpath('//*[@class="btn_tip"]/a/span').click()

    # 直到获取到淘宝会员昵称才能确定是登录成功
    taobao_name = self.wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '.site-nav-bd > ul.site-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值