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 django 实现验证码的功能实例代码
May 18 Python
python snownlp情感分析简易demo(分享)
Jun 04 Python
TensorFLow用Saver保存和恢复变量
Mar 10 Python
python logging重复记录日志问题的解决方法
Jul 12 Python
基于django channel实现websocket的聊天室的方法示例
Apr 11 Python
Python中类似于jquery的pyquery库用法分析
Dec 02 Python
Python面向对象封装操作案例详解 II
Jan 02 Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
Mar 06 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
Mar 12 Python
Python3操作YAML文件格式方法解析
Apr 10 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
Sep 04 Python
Python创建SQL数据库流程逐步讲解
Sep 23 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
无数据库的详细域名查询程序PHP版(4)
2006/10/09 PHP
php array_map array_multisort 高效处理多维数组排序
2009/06/11 PHP
根据ip调用新浪api获取城市名并转成拼音
2014/03/07 PHP
PHP sdk文档处理常用代码示例解析
2020/12/09 PHP
PHP 使用位运算实现四则运算的代码
2021/03/09 PHP
Aster vs Newbee BO5 第二场2.19
2021/03/10 DOTA
jquery的live使用注意事项
2014/02/18 Javascript
jQuery实现气球弹出框式的侧边导航菜单效果
2015/09/22 Javascript
js基于cookie方式记住返回页面用法示例
2016/05/27 Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
2018/02/10 Javascript
JavaScript控制浏览器全屏显示简单示例
2018/07/05 Javascript
vue点击按钮动态创建与删除组件功能
2019/12/29 Javascript
Django在Win7下的安装及创建项目hello word简明教程
2014/07/14 Python
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
python数字图像处理之高级滤波代码详解
2017/11/23 Python
python format 格式化输出方法
2018/07/16 Python
python+opencv实现高斯平滑滤波
2020/07/21 Python
对Python协程之异步同步的区别详解
2019/02/19 Python
python try 异常处理(史上最全)
2019/03/07 Python
Python函数的参数常见分类与用法实例详解
2019/03/30 Python
python 含子图的gif生成时内存溢出的方法
2019/07/07 Python
Django集成celery发送异步邮件实例
2019/12/17 Python
Tensorflow 多线程与多进程数据加载实例
2020/02/05 Python
Python实现新型冠状病毒传播模型及预测代码实例
2020/02/05 Python
python 数据分析实现长宽格式的转换
2020/05/18 Python
Python接口测试文件上传实例解析
2020/05/22 Python
python使用hdfs3模块对hdfs进行操作详解
2020/06/06 Python
python属于哪种语言
2020/08/16 Python
求职信需要的五点内容
2014/02/01 职场文书
海飞丝的广告词
2014/03/20 职场文书
节能宣传周活动总结
2014/05/08 职场文书
公司运动会策划方案
2014/05/25 职场文书
邹越感恩父母演讲稿
2014/08/28 职场文书
党的群众路线教育实践活动个人批评与自我批评
2014/10/16 职场文书
2014年协会工作总结
2014/11/22 职场文书
Redis模仿手机验证码发送的实现示例
2021/11/02 Redis