python爬取淘宝商品销量信息


Posted in Python onNovember 16, 2018

python爬取淘宝商品销量的程序,运行程序,输入想要爬取的商品关键词,在代码中的‘###'可以进一步约束商品的属性,比如某某作者的书籍,可以在###处输入作者名字,以及时期等等。最后可以得到所要商品的总销量

import requests
import bs4
import re
import json
 
def open(keywords, page):
   headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"}
 
   payload = {'q':keywords, 'sort':"sale-desc", 's':(page-1)*44}
   url = "https://s.taobao.com/search"
 
   res = requests.get(url, params = payload)
   return res
   
   
def get_item(res):
 
   g_page_config = re.search(r'g_page_config = (.*?);\n', res.text)
   page_config_json = json.loads(g_page_config.group(1))
   page_item = page_config_json['mods']['itemlist']['data']['auctions']
 
   result = []#整理出我们关注的信息(ID,标题,链接,售价,销量和商家)
   for each in page_item:
      dict1 = dict.fromkeys(('id','title','link','price','sale','shoper'))
      dict1['id'] = each['nid']
      dict1['title'] = each['title']
      dict1['link'] = each['detail_url']
      dict1['price'] = each['view_price']
      dict1['sale'] = each['view_sales']
      dict1['shoper'] = each['nick']
      result.append(dict1)
 
   return result
      
def count_sales(items):
   count = 0
   for each in items:
      if '###' in each['title']:#规定只取标题中‘###'的商品
         count += int(re.search(r'\d+',each['sale']).group())
         
   return count
 
def main():
 
   keywords = input("请输入搜索关键词:")#可以为各种商品名称
   length = 10#淘宝商品页数
   total = 0
   
   for each in range(length):
      res = open(keywords, each+1)
      items = get_item(res)
      total += count_sales(items)#销售总量
   print(total)
 
 
if __name__ == "__main__":
   main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python多进程机制实例详解
Jul 02 Python
python非递归全排列实现方法
Apr 10 Python
Python编程argparse入门浅析
Feb 07 Python
纯python实现机器学习之kNN算法示例
Mar 01 Python
python让列表倒序输出的实例
Jun 25 Python
python内置数据类型之列表操作
Nov 12 Python
Python列表(list)所有元素的同一操作解析
Aug 01 Python
浅谈python已知元素,获取元素索引(numpy,pandas)
Nov 26 Python
Python 中的pygame安装与配置教程详解
Feb 10 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
Mar 03 Python
PyTorch device与cuda.device用法
Apr 03 Python
python lambda 表达式形式分析
Apr 03 Python
python爬取网易云音乐评论
Nov 16 #Python
python实现将汉字保存成文本的方法
Nov 16 #Python
python 字符串只保留汉字的方法
Nov 16 #Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
Nov 16 #Python
用python标准库difflib比较两份文件的异同详解
Nov 16 #Python
在Pandas中给多层索引降级的方法
Nov 16 #Python
Python 面试中 8 个必考问题
Nov 16 #Python
You might like
详解WordPress开发中过滤属性以及Sql语句的函数使用
2015/12/25 PHP
php+Memcached实现简单留言板功能示例
2017/02/15 PHP
safari下载文件自动加了html后缀问题
2018/11/09 PHP
5款Javascript颜色选择器
2009/10/25 Javascript
javascript innerText和innerHtml应用
2010/01/28 Javascript
js data日期初始化的5种方法
2013/12/29 Javascript
js实现屏幕自适应局部代码分享
2015/01/30 Javascript
jQuery实现伸展与合拢panel的方法
2015/04/30 Javascript
JS+CSS实现简易实用的滑动门菜单效果
2015/09/18 Javascript
深入剖析JavaScript面向对象编程
2016/07/12 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
2017/02/12 Javascript
微信小程序 弹幕功能简单实例
2017/02/14 Javascript
JS对象的深度克隆方法示例
2017/03/16 Javascript
bootstrap table单元格新增行并编辑
2017/05/19 Javascript
自制简易打赏功能的实例
2017/09/02 Javascript
jfinal与bootstrap的登出实战详解
2017/11/27 Javascript
微信小程序实现点击按钮修改字体颜色功能【附demo源码下载】
2017/12/05 Javascript
vue-cli构建vue项目的步骤详解
2019/01/27 Javascript
2分钟实现一个Vue实时直播系统的示例代码
2020/06/05 Javascript
Node.js利用Express实现用户注册登陆功能(推荐)
2020/10/26 Javascript
[43:48]Ti4正赛第一天 VG vs NEWBEE 2
2014/07/19 DOTA
[01:33:25]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第一场 1月24日
2021/03/11 DOTA
高性能web服务器框架Tornado简单实现restful接口及开发实例
2014/07/16 Python
python 将list转成字符串,中间用符号分隔的方法
2018/10/23 Python
解析Python3中的Import
2019/10/13 Python
Tensorflow 实现分批量读取数据
2020/01/04 Python
Python 统计位数为偶数的数字代码详解
2020/03/15 Python
keras .h5转移动端的.tflite文件实现方式
2020/05/25 Python
python使用QQ邮箱实现自动发送邮件
2020/06/22 Python
浅谈tensorflow 中的图片读取和裁剪方式
2020/06/30 Python
大学生优秀自荐信范文
2014/02/25 职场文书
新员工试用期自我鉴定
2014/04/17 职场文书
房产公证委托书范本
2014/09/20 职场文书
python基础之类属性和实例属性
2021/10/24 Python
详解jQuery的核心函数和事件处理
2022/02/18 jQuery
Window server 2012 R2 AD域的组策略相关设置
2022/04/28 Servers