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 26 Python
Python删除空文件和空文件夹的方法
Jul 14 Python
对python中的iter()函数与next()函数详解
Oct 18 Python
Python 学习教程之networkx
Apr 15 Python
使用selenium模拟登录解决滑块验证问题的实现
May 10 Python
对Python 中矩阵或者数组相减的法则详解
Aug 26 Python
pycharm快捷键汇总
Feb 14 Python
pycharm 2018 激活码及破解补丁激活方式
Sep 21 Python
Python性能分析工具py-spy原理用法解析
Jul 27 Python
PyCharm中关于安装第三方包的三个建议
Sep 17 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
Feb 18 Python
opencv 分类白天与夜景视频的方法
Jun 05 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
Protoss热键控制
2020/03/14 星际争霸
用PHP编程开发“虚拟域名”系统
2006/10/09 PHP
解决php中Cannot send session cache limiter 的问题的方法
2007/04/27 PHP
深入Memcache的Session数据的多服务器共享详解
2013/06/13 PHP
laravel中的错误与日志用法详解
2016/07/26 PHP
PHP+Apache+Mysql环境搭建教程
2016/08/01 PHP
浅谈PHP定义命令空间的几个注意点(推荐)
2016/10/29 PHP
PHP实现普通hash分布式算法简单示例
2018/08/06 PHP
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
php利用ZipArchive类操作文件的实例
2020/01/21 PHP
让whoops帮我们告别ThinkPHP6的异常页面
2020/03/02 PHP
javascript函数中的arguments参数
2010/08/01 Javascript
JavaScript高级程序设计 学习笔记 js高级技巧
2011/09/20 Javascript
jquery.mobile 共同布局遇到的问题小结
2015/02/10 Javascript
深入理解JavaScript系列(17):面向对象编程之概论详细介绍
2015/03/04 Javascript
JS使用eval解析JSON的注意事项分析
2015/11/14 Javascript
Angular实现的内置过滤器orderBy排序与模糊查询功能示例
2017/12/29 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
2018/07/18 Javascript
webpack之引入图片的实现及问题
2018/10/08 Javascript
jQuery表单选择器用法详解
2019/08/22 jQuery
vue.js封装switch开关组件的操作
2020/10/26 Javascript
[06:43]2018DOTA2国际邀请赛寻真——VGJ.Thunder
2018/08/11 DOTA
Python open()文件处理使用介绍
2014/11/30 Python
利用Python如何制作好玩的GIF动图详解
2018/07/11 Python
浅谈python实现Google翻译PDF,解决换行的问题
2018/11/28 Python
Python实现的合并两个有序数组算法示例
2019/03/04 Python
django框架自定义模板标签(template tag)操作示例
2019/06/24 Python
正则给header的冒号两边参数添加单引号(Python请求用)
2019/08/09 Python
Django中的模型类设计及展示示例详解
2020/05/29 Python
Python就将所有的英文单词首字母变成大写
2021/02/12 Python
python lambda的使用详解
2021/02/26 Python
机电专业体育教师求职信
2013/09/21 职场文书
秘书行业自我鉴定范文
2013/12/30 职场文书
垃圾桶标语
2014/06/24 职场文书
将MySQL的表数据全量导入clichhouse库中
2022/03/21 MySQL
《游戏王:大师决斗》新活动上线 若无符合卡组可免费租用
2022/04/13 其他游戏