爬虫--selenium爬取淘宝商品数据

# 导入包
from selenium import webdriver
# 连接驱动器,这里用的是谷歌,版本必须对应
driver = webdriver.Chrome(executable_path='chromedriver.exe')
# 发送请求,selenium只有get请求
driver.get('https://www.taobao.com')
# 获取搜索框,输入关键字,并自动点击搜索
in_put = driver.find_element_by_id('q')
in_put.send_keys('大衣')  # 可换成自己想要爬取的商品
driver.find_element_by_class_name('btn-search').click()
# 发现必须先登录,故输入账号跟密码,并自动点击登录
user_id = driver.find_element_by_name('fm-login-id')
user_id.send_keys(账号)
password = driver.find_element_by_name('fm-login-password')
password.send_keys(密码)
driver.find_element_by_class_name('fm-button').click()
# 可能会出现用户条件协议,点击同意
driver.find_element_by_class_name('btn').click()
# 开始获取数据,因为不太敢乱爬,所以只爬了一个页面而已
import time
text_list = driver.find_elements_by_class_name('ctx-box')
lit = []  # 构造空列表,存储字典数据,后方便用于转化数据框 
for i in text_list:
#     print(i.text)
    x = i.text.split('\n')  # 分割数据,方便后面用于存储
    dic = {
     }  # 用空字典存储数据
    dic['价格'] = x[0]
    dic['购买人数'] = x[1]
    dic['商品名称'] = x[2]
    dic['店铺名称'] = x[3]
    dic['城市'] = x[4]
    lit.append(dic)
    time.sleep(1)

print(lit)    
# 将数据转换为数据框
import pandas as pd
df = pd.DataFrame(lit)
df.head()
价格 购买人数 商品名称 店铺名称 城市
0 ¥1150.00 57人付款 高端水貂毛领冬季爸爸男装中老年羊绒呢子大衣过膝超长款羊毛风衣 朋克宾威服饰旗舰店 江苏 苏州
1 ¥980.00 202人付款 哥弟2020新款冬装加厚连帽过膝长款毛领羽绒服大衣外套女A400326 哥弟官方旗舰店 广东 广州
2 ¥989.00 85人付款 白鸭绒羽绒服20秋冬保暖男士潮流中长外套大衣服装杰克琼斯大码D jackjones官方旗舰 天津
3 ¥828.00 1833人付款 2020秋冬季新款双面羊绒大衣男中长款过膝韩版帅气男士毛呢子外套 鑫汇源海外贸易 上海
4 ¥3580.00 302人付款 水貂内胆皮毛一体真皮皮衣男山羊皮夹克翻领整貂皮大衣外套皮草冬 jllley 浙江 嘉兴
# 数据处理
df['价格'] = df['价格'].apply(lambda x: x[1:])
df['购买人数'] = df['购买人数'].apply(lambda x: x[:-3])
df['城市1'] = df['城市'].apply(lambda x: x[-2:])
df.head()
价格 购买人数 商品名称 店铺名称 城市
0 1150.00 57人付款 高端水貂毛领冬季爸爸男装中老年羊绒呢子大衣过膝超长款羊毛风衣 朋克宾威服饰旗舰店 江苏 苏州
1 980.00 202人付款 哥弟2020新款冬装加厚连帽过膝长款毛领羽绒服大衣外套女A400326 哥弟官方旗舰店 广东 广州
2 989.00 85人付款 白鸭绒羽绒服20秋冬保暖男士潮流中长外套大衣服装杰克琼斯大码D jackjones官方旗舰 天津
3 828.00 1833人付款 2020秋冬季新款双面羊绒大衣男中长款过膝韩版帅气男士毛呢子外套 鑫汇源海外贸易 上海
4 3580.00 302人付款 水貂内胆皮毛一体真皮皮衣男山羊皮夹克翻领整貂皮大衣外套皮草冬 jllley 浙江 嘉兴
# 数据存储
df.to_excel('taobao.xlsx')

你可能感兴趣的:(爬虫)