功能是搜索商品,并把搜到的商品信息一一爬取(多个页面):
爬取商品名称、店铺名称、销量、评论数量、地址等等,然后把信息存储为csv文件…

效果:

首先是程序运行

运行完后可以看到目录下出现了一个csv文件

打开看看,还不错

现在在淘宝搜索需要登录了,所以要把登录成功后得到的cookie塞进请求headers里才行;
我这代码里面的cookie是掏的某位老哥的。。不能保证一直有效,所以最好还是用自己的cookie…

若cookie无效,则可能导致搜索失败,文章尾部会介绍如何使用自己的cookie。

好了话不再多说,直接上代码

import re
import requests
import timedef getNowTime(form='%Y-%m-%d_%H-%M-%S'):nowTime = time.strftime(form, time.localtime())return nowTime# 搜索关键字
searchKey = '零食'
# 输出文件编码(一般是utf-8,不过我用excel打开输出的csv文件发现会乱码,就用了ansi)
encode = 'ansi'
# keys是我要获取的宝贝信息属性
keys = ('raw_title','view_price','item_loc','view_sales','comment_count','nick')url = 'https://s.taobao.com/search'
params = {'q':searchKey, 'ie':'utf8'}
header = {"cookie":"cna=EYnEFeatJWUCAbfhIw4Sd0GO; x=__ll%3D-1%26_ato%3D0; hng=CN%7Czh-CN%7CCNY%7C156; uc1=cookie14=UoTaHYecARKhrA%3D%3D; uc3=vt3=F8dBy32hRyZzP%2FF7mzQ%3D&lg2=U%2BGCWk%2F75gdr5Q%3D%3D&nk2=1DsN4FjjwTp04g%3D%3D&id2=UondHPobpDVKHQ%3D%3D; t=ad1fbf51ece233cf3cf73d97af1b6a71; tracknick=%5Cu4F0F%5Cu6625%5Cu7EA22013; lid=%E4%BC%8F%E6%98%A5%E7%BA%A22013; uc4=nk4=0%401up5I07xsWKbOPxFt%2BwuLaZ8XIpO&id4=0%40UOE3EhLY%2FlTwLmADBuTfmfBbGpHG; lgc=%5Cu4F0F%5Cu6625%5Cu7EA22013; enc=ieSqdE6T%2Fa5hYS%2FmKINH0mnUFINK5Fm1ZKC0431E%2BTA9eVjdMzX9GriCY%2FI2HzyyntvFQt66JXyZslcaz0kXgg%3D%3D; _tb_token_=536fb5e55481b; cookie2=157aab0a58189205dd5030a17d89ad52; _m_h5_tk=150df19a222f0e9b600697737515f233_1565931936244; _m_h5_tk_enc=909fba72db21ef8ca51c389f65d5446c; otherx=e%3D1%26p%3D*%26s%3D0%26c%3D0%26f%3D0%26g%3D0%26t%3D0; l=cBa4gFrRqYHNUtVvBOfiquI8a17O4IJ51sPzw4_G2ICP9B5DeMDOWZezto8kCnGVL6mpR3RhSKO4BYTKIPaTlZXRFJXn9MpO.; isg=BI6ORhr9X6-NrOuY33d_XmZFy2SQp1Ju1qe4XLjXJRHsGyp1IJ9IG0kdUwfSA0oh","referer":"https://detail.tmall.com/item.htm","user-agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 UBrowser/6.2.4098.3 Safari/537.36"
}
startPage = 1 # 起始页面
pageTotal = 3 # 爬取多少页
waitTime = 2 # 等待时间(如果爬的速度太快可能会出事)
rowWrited = 0
startTime = time.time()
print('任务启动\n{} | 初始化存储文件...'.format(getNowTime()))
fileName = r'tb_{}_{}_{}_{}.csv'.format(searchKey, startPage, pageTotal, getNowTime())
with open(fileName, 'w', encoding=encode) as saveFile:saveFile.write(','.join(keys) + '\n')print('关键词:{} 起始页面:{} 爬取页面数:{}, 开始执行..'.format(searchKey, startPage, pageTotal))
for page in range(startPage, pageTotal+1):print('\npage{}: 获取数据...'.format(page))time.sleep(waitTime)params['s'] = str(page * 44) if page > 1 else '1'resp = requests.get(url, params, headers=header)results = [re.findall(r'"{}":"([^"]+)"'.format(key), resp.text.replace('\n','').replace('\r','').replace(',','').strip(), re.I) for key in keys]print('page{}: 正在写入数据...'.format(page))with open(fileName, 'a', encoding=encode) as saveFile:for row in range(len(results[0])):print('\r写入第{}条..'.format(row+1), end='')rowWrited += 1for key in range(len(results)):try:saveFile.write('{}{}'.format(results[key][row], ',' if key+1<len(results) else '\n'))except:saveFile.write('null{}'.format(',' if key+1<len(results) else '\n'))print('page{}完成...'.format(page, len(results[0])))print('\n任务完成!! 页面总数: {} | 写入数据: {}条 | 用时: {:.2f}s'.format(pageTotal, rowWrited, time.time()-startTime))

结束


这里介绍如何在代码中使用自己的cookie:

根据我的测试(2019年9月25日),发现需要在请求cookie中加入 enc 字段才可以进行搜索。

1、用浏览器登录淘宝后,开启浏览器开发者工具(F12

2、访问 https://s.taobao.com/search,然后按下图所示找到 enc 字段:

3、回到py文件,将其加入header字典中的cookie里即可。

不过,由于淘宝经常更新,此方法时效未知。如果不行,就试着把cookie整个丢进去吧…)

结束

Python搜索爬取淘宝商品信息并存储为csv文件(名称、店铺、销量、地址等)相关推荐

  1. Python requests爬取淘宝商品信息

    作者:achen 联系方式:wh909077093 这里记一下大概的思路以及实现方法,有基础的小伙伴看了基本就能实现了,如果有业务需要可以联系我哈哈哈哈哈哈 本文代码参考猪哥66的思路 项目内容 指定 ...

  2. python简单爬取淘宝商品信息

    爬取淘热卖商品"泡面"的信息,包括商品名称,店铺,链接,付款人数,价格等,用csv保存 import requests import csv import time import ...

  3. python爬虫 — 爬取淘宝商品信息

    (一)确定需要爬取的信息 在爬取前首先确定需要获取的信息,打开taobao,在搜索框中输入,需要获取的商品的信息,比如ipad,点击搜索 就可以看到许多的ipad,选择其中的一款商品,比如第一个 可以 ...

  4. 使用python selenium爬取淘宝商品信息 自动登录淘宝和爬取某一宝贝的主图,属性图和详情图等等

    selenium作为一个自动化测试工具非常好用,谁用谁知道啊. 先说如何登录淘宝,淘宝现在直接用会员名和密码登录会有滑块验证,找了网上说的几种方法和自己尝试了一番效果还是不太理想,实测过程中,即使滑块 ...

  5. python+selenium爬取淘宝商品信息+淘宝自动登录——爬虫实战

    1.前言 继续学习爬虫内容,这回是以selenium模拟操作进行抓取,其中有几个需要登陆的注意事项. 2.自动登陆+查找页面 由于现在淘宝的反爬机制,需要登陆才好下一步操作.在搜索输入后页面会调入登陆 ...

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

    使用python爬虫爬取淘宝商品信息 使用的模块主要有 selenium ,time , re, from selenium import webdriver import time import c ...

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

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

  8. python+scrapy简单爬取淘宝商品信息

    python结合scrapy爬取淘宝商品信息 一.功能说明: 已实现功能: 通过scrapy接入selenium获取淘宝关键字搜索内容下的商品信息. 待扩展功能: 爬取商品中的全部其他商品信息. 二. ...

  9. Python爬取淘宝商品信息保存到Excel

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...

最新文章

  1. shell编程-正则表达式
  2. 不同地图坐标系的坐标转换
  3. boost::fusion::traits用法的测试程序
  4. html关于拖放叙述错误,CIW页面设计与制作HTML附答案
  5. java buffalo_随你怎么玩!Buffalo 网络硬盘新潮流
  6. confirm + if 逻辑判断 -代码篇
  7. TIDB GC life time is shorter than transaction duration解决方法
  8. iis的web站点配置
  9. python语言的语法_PYTHON语言常用语法摘要
  10. 网络通信的发展和基础原理
  11. python连接微信运动_用Python霸屏微信运动,横扫支付宝榜单 !
  12. php 调用redfish,Huawei iBMC 通过redfish接口设置KVM key登录html5远程控制台操作记录
  13. RTT笔记-分析自动初始化机制
  14. 囊括3大MCU+DSP开发工程
  15. python统计不同字符的个数
  16. python 保存数据为excel
  17. 常见生态问题成因及措施
  18. 统计自然语言处理梳理二:句法分析
  19. 计算机一级题库ps视频,2016年国家计算机一级Photoshop题库及答案
  20. 深度学习原理-----线性回归+梯度下降法

热门文章

  1. 苹果手机(iPhone)添加outlook邮箱设置
  2. ubuntu、win跨平台局域网文件传输工具
  3. 【深度学习 功法篇】win10操作系统PC端环境的部署(如何并存 不同的、多种版本的深度学习框架)
  4. linux中swi指令,Arm Linux系统调用流程详细解析SWI
  5. win10 家庭版 开启远程桌面功能
  6. 海康威视热线技术支持面试
  7. 测试中文编码_如何通过带回家的编码测试
  8. Android实战简易教程-第三十九枪(第三方短信验证平台Mob和验证码自动填入功能结合实例)
  9. 函数式编程——python为例
  10. 一文带你全方位(架构,原理及代码实现)了解Flink(3.2W字建议收藏)