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字典get()方法用法分析
Apr 17 Python
Windows下使Python2.x版本的解释器与3.x共存的方法
Oct 25 Python
Windows上使用virtualenv搭建Python+Flask开发环境
Jun 07 Python
使用python批量读取word文档并整理关键信息到excel表格的实例
Nov 07 Python
Python开发网站目录扫描器的实现
Feb 21 Python
Python实现的对一个数进行因式分解操作示例
Jun 27 Python
python绘制多个子图的实例
Jul 07 Python
python tkinter之顶层菜单、弹出菜单实例
Mar 04 Python
Python描述符descriptor使用原理解析
Mar 21 Python
django自定义非主键自增字段类型详解(auto increment field)
Mar 30 Python
弄清Pytorch显存的分配机制
Dec 10 Python
用python对excel进行操作(读,写,修改)
Dec 25 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时间戳 strtotime()使用方法和技巧
2013/10/29 PHP
PHP获取真实IP及IP模拟方法解析
2020/11/24 PHP
Prototype 学习 工具函数学习($A方法)
2009/07/12 Javascript
Javascript+XMLHttpRequest+asp.net无刷新读取数据库数据
2009/08/09 Javascript
JavaScript 判断判断某个对象是Object还是一个Array
2010/01/28 Javascript
IE6弹出“已终止操作”的解决办法
2010/11/27 Javascript
jQuery对表单元素的取值和赋值操作代码
2011/05/19 Javascript
js实现网页抽奖实例
2015/08/05 Javascript
JS+CSS实现带小三角指引的滑动门效果
2015/09/22 Javascript
JS实现获取键盘按下的按键并显示在页面上的方法
2015/11/04 Javascript
js仿淘宝评价评分功能
2017/02/28 Javascript
VUE axios发送跨域请求需要注意的问题
2017/07/06 Javascript
Javascript中将变量转换为字符串的三种方法
2017/09/19 Javascript
简单实现jQuery弹窗效果
2017/10/30 jQuery
Angular利用内容投射向组件输入ngForOf模板的方法
2018/03/05 Javascript
jQuery中内容过滤器简单用法示例
2018/03/31 jQuery
详解node.js的http模块实例演示
2018/07/12 Javascript
vue-cli配置flexible过程详解
2019/07/04 Javascript
jquery树形插件zTree高级使用详解
2019/08/16 jQuery
python append、extend与insert的区别
2016/10/13 Python
Python编程实现控制cmd命令行显示颜色的方法示例
2017/08/14 Python
Python实现计算对象的内存大小示例
2019/07/10 Python
Python 使用元类type创建类对象常见应用详解
2019/10/17 Python
python Matplotlib数据可视化(1):简单入门
2020/09/30 Python
浅谈CSS3 动画卡顿解决方案
2019/01/02 HTML / CSS
爱尔兰领先的在线体育用品零售商:theGAAstore
2018/04/16 全球购物
华为慧通面试题
2012/09/11 面试题
大学生村官事迹材料
2014/01/21 职场文书
绿化先进工作者事迹材料
2014/01/30 职场文书
党员岗位承诺书
2014/03/25 职场文书
《蜗牛的奖杯》教后反思
2014/04/24 职场文书
一份教室追逐打闹的检讨书
2014/09/27 职场文书
机动车登记业务委托书
2014/10/08 职场文书
购房个人委托书范本
2014/10/11 职场文书
科技馆观后感
2015/06/08 职场文书
oracle数据库去除重复数据
2022/05/20 Oracle