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之编写类之二方法
Oct 11 Python
Python中使用装饰器和元编程实现结构体类实例
Jan 28 Python
Python新手入门最容易犯的错误总结
Apr 24 Python
Python操作配置文件ini的三种方法讲解
Feb 22 Python
python实现最大子序和(分治+动态规划)
Jul 05 Python
django 通过URL访问上传的文件方法
Jul 28 Python
Python面向对象之Web静态服务器
Sep 03 Python
Python3 解决读取中文文件txt编码的问题
Dec 20 Python
Python3实现英文字母转换哥特式字体实例代码
Sep 01 Python
Python操作word文档插入图片和表格的实例演示
Oct 25 Python
Django restful framework生成API文档过程详解
Nov 12 Python
python中的random模块和相关函数详解
Apr 22 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水印技术
2007/02/14 PHP
js获取单元格自定义属性值的代码(IE/Firefox)
2010/04/05 Javascript
js跨域问题之跨域iframe自适应大小实现代码
2010/07/17 Javascript
JQuery中SetTimeOut传参问题探讨
2013/05/10 Javascript
浅析JavaScript原型继承的陷阱
2013/12/03 Javascript
jQuery常用数据处理方法小结
2015/02/20 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
2015/12/14 Javascript
Vue.js 2.0 和 React、Augular等其他前端框架大比拼
2016/10/08 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
前端编码规范(3)JavaScript 开发规范
2017/01/21 Javascript
js实现放大镜特效
2017/05/18 Javascript
BootStrap表单控件之复选框checkbox和单选择按钮radio
2017/05/23 Javascript
JS设置随机出现2个数字的实例代码
2017/07/19 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
写给小白看的JavaScript异步
2017/11/29 Javascript
小程序实现多选框功能
2018/10/30 Javascript
laydate如何根据开始时间或者结束时间限制范围
2018/11/15 Javascript
浅谈Node框架接入ELK实践总结
2019/02/22 Javascript
修改NPM全局模式的默认安装路径的方法
2020/12/15 Javascript
解决vue项目本地启动时无法携带cookie的问题
2021/02/06 Vue.js
[00:12]2018DOTA2亚洲邀请赛 Sccc亮相SOLO赛,今年他又会有什么样的战绩?
2018/04/06 DOTA
浅析Python中将单词首字母大写的capitalize()方法
2015/05/18 Python
python 遍历字符串(含汉字)实例详解
2017/04/04 Python
python opencv旋转图像(保持图像不被裁减)
2018/07/26 Python
Python自动抢红包教程详解
2019/06/11 Python
利用html5 canvas动态画饼状图的示例代码
2018/04/02 HTML / CSS
美国在线奢侈品寄售商店:Luxury Garage Sale
2018/08/19 全球购物
在阿尔卑斯山或希腊度过快乐假期:Alpine Elements
2019/12/28 全球购物
党员教师一句话承诺
2014/05/30 职场文书
奶茶店创业计划书
2014/08/14 职场文书
农业项目建议书
2014/08/25 职场文书
三八妇女节慰问信
2015/02/14 职场文书
就业指导讲座心得体会
2016/01/15 职场文书
浅谈Python类的单继承相关知识
2021/05/12 Python
教你如何让spark sql写mysql的时候支持update操作
2022/02/15 MySQL
详解apache编译安装httpd-2.4.54及三种风格的init程序特点和区别
2022/07/15 Servers