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 相关文章推荐
python3.5实现socket通讯示例(TCP)
Feb 07 Python
Python入门_浅谈字符串的分片与索引、字符串的方法
May 16 Python
python交互式图形编程实例(一)
Nov 17 Python
Django实现简单分页功能的方法详解
Dec 05 Python
python3+PyQt5+Qt Designer实现堆叠窗口部件
Apr 20 Python
Python爬虫抓取代理IP并检验可用性的实例
May 07 Python
Python使用re模块正则提取字符串中括号内的内容示例
Jun 01 Python
Django rest framework工具包简单用法示例
Jul 20 Python
对python tkinter窗口弹出置顶的方法详解
Jun 14 Python
Python数据存储之 h5py详解
Dec 26 Python
PyTorch实现ResNet50、ResNet101和ResNet152示例
Jan 14 Python
OpenCV实现常见的四种图像几何变换
Apr 01 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 flv视频时间获取函数
2010/06/29 PHP
php 购物车完整实现代码
2014/06/05 PHP
PHP链接MySQL的常用扩展函数
2014/10/23 PHP
PHP自毁程序(慎用)
2015/07/09 PHP
Yii2.0 RESTful API 基础配置教程详解
2018/12/26 PHP
php分享朋友圈的实现代码
2019/02/18 PHP
JScript中的undefined和"undefined"的区别
2007/03/08 Javascript
jquery offset函数应用实例
2012/11/14 Javascript
Javascript实现多彩雪花从天降散落效果的方法
2015/02/02 Javascript
使用requestAnimationFrame实现js动画性能好
2015/08/06 Javascript
js仿苹果iwatch外观的计时器代码分享
2015/08/26 Javascript
全面介绍javascript实用技巧及单竖杠
2016/07/18 Javascript
template.js前端模板引擎使用详解
2017/10/10 Javascript
浅谈react受控组件与非受控组件(小结)
2018/02/09 Javascript
iview table高度动态设置方法
2018/03/14 Javascript
vue webpack实用技巧总结
2018/04/24 Javascript
通过jquery的ajax请求本地的json文件方法
2018/08/08 jQuery
JavaScript中this的全面解析及常见实例
2019/05/14 Javascript
微信小程序 导入图标实现过程详解
2019/10/11 Javascript
[57:28]2018DOTA2亚洲邀请赛 4.6 淘汰赛 TNC vs Liquid 第一场
2018/04/10 DOTA
[48:12]Secret vs Optic Supermajor 胜者组 BO3 第三场 6.4
2018/06/05 DOTA
[54:58]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第一场 11.25
2020/11/25 DOTA
Django1.3添加app提示模块不存在的解决方法
2014/08/26 Python
python使用筛选法计算小于给定数字的所有素数
2018/03/19 Python
Python爬虫运用正则表达式的方法和优缺点
2019/08/25 Python
python标识符命名规范原理解析
2020/01/10 Python
CSS的pointer-events属性详细介绍(作用和注意事项)
2014/04/23 HTML / CSS
CSS3 transition 实现通知消息轮播条
2020/10/14 HTML / CSS
自我评价范文点评
2013/12/04 职场文书
上课迟到检讨书100字
2014/01/11 职场文书
告诉你怎样写创业计划书
2014/01/27 职场文书
三月法制宣传月活动总结
2014/07/03 职场文书
电子商务专业求职信
2014/07/10 职场文书
党委班子剖析材料
2014/08/21 职场文书
公务员检讨书
2014/11/01 职场文书
Python可视化学习之seaborn调色盘
2022/02/24 Python