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

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

小白一枚,暂时还不会抽成方法去做,暂时这么看着啦~~

from selenium import webdriver
import time
import pandas as pd

#打开浏览器,打开淘宝url
driver = webdriver.Chrome(r'C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Scripts\chromedriver.exe')
driver.get('https://www.taobao.com/')

#浏览器最大化
driver.maximize_window()

#点击登录/扫码,然后等待15s(这时候用手机扫码登录,之前看教程说用密码容易被淘宝反爬虫)
driver.find_element_by_css_selector('.site-nav-sign .h').click()
driver.find_element_by_css_selector('.iconfont.icon-qrcode').click()
time.sleep(10)

#查询框输入,点击搜索
driver.find_element_by_css_selector('.search-combobox-input-wrap input').send_keys('T恤女士优衣库大妈')
driver.find_element_by_css_selector('.btn-search.tb-bg').click()

#当前页面每个搜索结果
def search_product():

    divs = driver.find_elements_by_css_selector('.item.J_MouserOnverReq  ')

    temp = []
    for div in divs:
        #商品名称
        info = div.find_element_by_css_selector('.row.row-2.title a').text
        #商品价格
        price = div.find_element_by_css_selector('.price.g_price.g_price-highlight strong').text+'元'
        #购买人数
        buy_num = div.find_element_by_css_selector('.deal-cnt').text
        #店铺名称
        name = div.find_element_by_css_selector('.shopname.J_MouseEneterLeave.J_ShopInfo').text

        #店铺地点
        place = div.find_element_by_css_selector('.row.row-3.g-clearfix .location').text
        temp.append([info,price,buy_num,name,place])

    return temp

#用循环去点击下一页,直到下一页禁止点击就停止
list1=[]
while True:

    list1 += search_product()

    time.sleep(3)
    #获取下一页按钮的定位
    page = driver.find_element_by_css_selector('.item.next')
    #判断当返到最后一页时,这里class的属性会有next-disabled的就停止点击
    if 'next-disabled' in page.get_attribute('class'):
        break
    else:
        page.click()
        time.sleep(3)

#用pandas写到excel,保存到本地
df = pd.DataFrame(list1,columns=['info','price','buy_num','name','place'])
df.to_excel(r'C:\\Users\\Administrator\\Desktop\\taobao.xls')


#关闭浏览器
driver.close()

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值