python爬淘宝商品销量信息_Python爬取淘宝商品价格销量信息
用到了requests库和re库
import requests
import re
lis = []
# https://s.taobao.com/search?q=荣耀v20&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.2017.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170306
# https://s.taobao.com/search?q=荣耀v20&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.2017.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170306&bcoffset=3&ntoffset=3&p4ppushleft=1%2C48&s=44
# https://s.taobao.com/search?q=荣耀V20&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.2017.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170306&bcoffset=3&ntoffset=3&p4ppushleft=1%2C48&s=88
kv = {
"user-agent":
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36",
"Cookie":
'换成自己的Cookie'
}
# 获取html页面
def getHTMLpages(url):
try:
r = requests.get(url, headers=kv, timeout=30)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
return ""
# 将商品信息存入列表
def getGoodsinfo(lis, html):
# "raw_title":"honor/荣耀 荣耀play 微商手机 营销手机 小V 不凡 霸屏推"
# "view_price":"6280.00"
# "view_sales":"7人付款"或者"2.0万+人付款"或者"6000+人付款"
title = re.findall(r'\"raw_title\"\:\".*?\"', html) # .字符,*0或n次扩展,?表示最小匹配
price = re.findall(r'\"view_price\"\:\"[\d.]*\"',
html) # [\d.]*表示0-9或者.的0次或者多次取值
sales = re.findall(r'\"view_sales\"\:\"[\d\.]*[\u4e00-\u9fa5]?\+?人付款\"',
html) # [\u4e00-\u9fa5]表示中文字符
for i in range(len(title)):
tit = eval(title[i].split(':')[1])
pri = eval(price[i].split(':')[1])
sal = eval(sales[i].split(':')[1])
lis.append([tit, pri, sal])
# return lis
# 从列表中读取商品信息
def printGoodsinfo(lis):
form = "{:^2}\t{:<50}\t{:>8}\t{:>8},"
print(form.format("序号", "商品名称", "商品价格", "商品销量", chr(12288)))
# for i in range(len(lis)):
# print("{:^3}\t{:^20}\t{:^10}\t{:^20}".format(i+1,lis[i][0],lis[i][1],lis[i][2],lis[i][3]))
count = 1
print()
for i in lis: # i代表一行
print(form.format(count, i[0], i[1], i[2], chr(12288)))
count += 1
if __name__ == "__main__":
# f = open("D:\VscodePy\pytest\html.txt", encoding='utf-8')
# sss = f.read()
# f.close()
s = input("请输入要查询的商品名称:")
start_url = "https://s.taobao.com/search?q=" + s
print(start_url)
count = eval(input("请输入要查询的页数:"))
for i in range(count):
url = start_url + '&s=' + str(i * 44)
html = getHTMLpages(url)
# print(html)
getGoodsinfo(lis, html)
# getGoodsinfo(lis, sss)
printGoodsinfo(lis)
运行结果:
注意: 同一个cookie和ip如果反复爬取,会被淘宝的反爬限制,会让滑动验证,这时候如果不想办法解决这个滑动验证,就会出现爬取数据为空的情况,因为你获取到的网页是滑动验证页面的网页。我的做法是把一次爬取下来的网页存放到一个文本文件里面,然后调试代码时直接从那个文件读取网页代码就行,这样就不需要反复爬取了。上面贴的代码是我调试后的最终代码。
python爬淘宝商品销量信息_Python爬取淘宝商品价格销量信息相关推荐
- 淘宝商品详情页API接口、淘宝商品销量API接口、淘宝商品列表API接口、淘宝APP详情API接口、淘宝详情API接口
大家都知道,淘宝的反爬虫机制十分严,而很多时候,没办法高效的拿到数据内容响应终端需求,而依赖爬虫就会造成动不动就出现滑块验证,让人很无解,正好,公司有这样的需求,让我负责解决这个问题,刚开始各种尝试, ...
- 淘宝商品详情页API接口、淘宝商品列表API接口,淘宝商品销量API接口,淘宝APP详情API接口,淘宝详情API接口
淘宝商品列表和商品详情及淘宝实时销量采集遇到滑块验证码的解决方法(带SKU和商品描述,可高并发),主要是解决了高频情况下的阿里系滑块和必须要N多小号才能解决的反扒问题,以后都可以使用以下的方法,包括淘 ...
- 淘宝商品详情API接口、获得淘宝商品详情接口调用示例
淘宝详情接口可以通过商品ID提取商品详情页各项数据,包含商品标题,skuid.价格.优惠价,收藏数.下单人数.月销售量.SKU图.标题.详情页图片等页面上有的数据均可以拿到,大家都知道,淘宝的反爬虫机 ...
- C# 淘宝商品微信返利助手开发-(四)返利助手开发(2)淘宝分享的内容如何只取淘口令
系列教程一目录:返利助手原理 系列教程二目录:返利助手开放文档以及帐号申请地址 系列教程三目录:返利助手开发(1)API介绍 系列教程四目录:返利助手开发(2)淘宝分享的内容如何只取淘口令 系列教程五 ...
- python爬淘宝商品销量信息_python爬取淘宝商品销量信息
python爬取淘宝商品销量的程序,运行程序,输入想要爬取的商品关键词,在代码中的'###'可以进一步约束商品的属性,比如某某作者的书籍,可以在###处输入作者名字,以及时期等等.最后可以得到所要商品 ...
- python爬取淘宝商品信息_python爬取淘宝商品信息并加入购物车
先说一下最终要达到的效果:谷歌浏览器登陆淘宝后,运行python项目,将任意任意淘宝商品的链接传入,并手动选择商品属性,输出其价格与剩余库存,然后选择购买数,自动加入购物车. 在开始爬取淘宝链接之前, ...
- python好用的库存尾货女装_Python抓取淘宝女装信息(一)
本次实战案例以抓取淘宝上连衣裙信息为切入点,共抓取4356件连衣裙产品信息.在此基础上进行初步分析.这里首先感谢@大宇,后期的数据处理与图表制作全靠大神帮助.下面我们进入正式介绍环节. 淘宝.京东.链 ...
- python爬取商品信息_python爬取商品信息
原博文 2014-11-27 02:09 − 老严要爬某网购网站的商品信息,正好我最近在学python,就一起写了一个简单的爬虫程序. 需求:某网的商品信息,包括商品名,市场价和售价 工具:pytho ...
- tmall.product.schema.add(淘宝天猫商品发布接口),淘宝商品发布API接口,tmall.product.schema.get产品信息获取接口
tmall.product.schema.add(淘宝天猫商品发布接口),淘宝商品发布API接口,可以用于店铺发货,店铺订单详情获取,店铺明文接口,订单同步,订单推送等业务,下面是一套完整的订单发货的 ...
- python爬取招聘信息_python 爬取boss直聘招聘信息实现
原标题:python 爬取boss直聘招聘信息实现 1.一些公共方法的准备 获取数据库链接: importpymysql ''' 遇到不懂的问题?Python学习交流群:821460695满足你的需求 ...
最新文章
- Android技术应用实验指导书,Android应用开发实验指导书
- SAP EWM Table Overview [转]
- GetCallbackEventReference实用讲解
- Bash shell - 2
- MySQL出现Waiting for table metadata lock的原因以及解决方法
- android fragment中引入自定义view_厉害了,用Android自定义View实现八大行星绕太阳3D旋转效果...
- cad2014打开文件崩溃_CAD玩的再牛,崩溃了咋办?
- pandas 转换为文本类型_分享5个高效的pandas函数!
- 公开课精华 | 无人驾驶中感知的挑战与尝试
- mysql不定参数函数_可变参数函数(一)
- bat shell 命令行中 21 的含义
- 普及下Oracle hints语法
- c语言刷屏函数的作用是什么,刷屏神器源码(C语言控制台版)【原创】
- 刚入职就写了个bug,把几万用户搞蓝屏了···
- php使用cookie获取浏览记录,php使用cookie存库浏览记录详解
- 信息收集 | 利用Google搜索语法进行Google Hacking
- 设置div背景透明的方法
- proposal中文翻译_proposal是什么意思_ proposal的翻译_音标_读音_用法_例句_爱词霸在线词典...
- Python语法练习
- scala将csv转换成insert语句
热门文章
- cnn卷积神经网络三大特点,什么是卷积神经网络CNN
- 大数据技术在建筑节能中的应用探究
- mysql注释乱码问题_mysql注释是中文乱码怎么办
- 学习笔记-Hashcat
- 进厂手册:Git 学习笔记(详解命令)
- python羊车门问题_羊车门问题 - osc_wq8j2a9a的个人空间 - OSCHINA - 中文开源技术交流社区...
- Software Craftsmanship可以做些什麼?
- 计算机和建筑的影响,计算机应用于建筑设计中的影响
- Python爬虫笔记——Url解码时,如何将汉字转化为以 %开头的 gb2312 编码 和 将以%号开头的编码转化为汉字 的示例
- 在Android安卓手机多语言输入解决办法