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 相关文章推荐
使用cx_freeze把python打包exe示例
Jan 24 Python
Python中使用item()方法遍历字典的例子
Aug 26 Python
Python生成随机密码
Mar 10 Python
Python+django实现文件下载
Jan 17 Python
Python编程产生非均匀随机数的几种方法代码分享
Dec 13 Python
python实现Floyd算法
Jan 03 Python
python用插值法绘制平滑曲线
Feb 19 Python
Python OpenCV之图片缩放的实现(cv2.resize)
Jun 28 Python
python+selenium 鼠标事件操作方法
Aug 24 Python
使用python绘制二维图形示例
Nov 22 Python
Python如何实现FTP功能
May 28 Python
django美化后台django-suit的安装配置操作
Jul 12 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面向对象 字段的声明与使用
2012/06/14 PHP
Zend Studio 实用快捷键一览表(精心整理)
2013/08/10 PHP
PHP字符串长度计算 - strlen()函数使用介绍
2013/10/15 PHP
php读取大文件示例分享(文件操作类)
2014/04/13 PHP
PHP MYSQL实现登陆和模糊查询两大功能
2016/02/05 PHP
PHP双向链表定义与用法示例
2018/01/31 PHP
JSON 和 JavaScript eval使用说明
2010/06/13 Javascript
javascript 获取所有id中包含某关键字的控件的实现代码
2010/11/25 Javascript
js 鼠标移动显示图片的简单实例
2013/12/25 Javascript
用js读、写、删除Cookie代码续篇
2014/12/03 Javascript
Jquery跨浏览器文本复制插件Zero Clipboard的使用方法
2016/02/28 Javascript
javascript如何定义对象数组
2016/06/07 Javascript
js 判断一组日期是否是连续的简单实例
2016/07/11 Javascript
jQuery.ajax 跨域请求webapi设置headers的解决方案
2016/08/08 Javascript
详解JavaScript模块化开发
2016/12/04 Javascript
原生javascript实现图片放大镜效果
2017/01/18 Javascript
js实现时间轴自动排列效果
2017/03/09 Javascript
小发现之浅谈location.search与location.hash的问题
2017/06/23 Javascript
js实现页面多个日期时间倒计时效果
2019/06/20 Javascript
javascript实现一款好看的秒表计时器
2020/09/05 Javascript
node.js文件的复制、创建文件夹等相关操作
2021/02/05 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队LGD晋级之路
2018/04/07 DOTA
python使用新浪微博api上传图片到微博示例
2014/01/10 Python
Win8下python3.5.1安装教程
2020/07/29 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
2019/05/29 Python
python学生信息管理系统实现代码
2019/12/17 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
2020/05/20 Python
eharmony澳大利亚:网上约会服务
2020/02/29 全球购物
Clos19英国:高档香槟、葡萄酒和烈酒在线购物平台
2020/07/10 全球购物
类的返射机制中的包及核心类
2016/09/12 面试题
应聘会计求职信
2014/06/11 职场文书
2014年班干部工作总结
2014/11/25 职场文书
2015年国庆节寄语
2015/08/17 职场文书
详解Nginx启动失败的几种错误处理
2021/04/01 Servers
详解python的内存分配机制
2021/05/10 Python
js 实现Material UI点击涟漪效果示例
2022/09/23 Javascript