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中的编码知识整理汇总
Jan 26 Python
python与C互相调用的方法详解
Jul 14 Python
JavaScript中的模拟事件和自定义事件实例分析
Jul 27 Python
详解PyCharm配置Anaconda的艰难心路历程
Aug 13 Python
python实现遍历文件夹修改文件后缀
Aug 28 Python
Python读取mat文件,并保存为pickle格式的方法
Oct 23 Python
python生成以及打开json、csv和txt文件的实例
Nov 16 Python
浅谈python中真正关闭socket的方法
Dec 18 Python
Pytorch反向求导更新网络参数的方法
Aug 17 Python
Python 最强编辑器详细使用指南(PyCharm )
Sep 16 Python
python 在threading中如何处理主进程和子线程的关系
Apr 25 Python
Python编解码问题及文本文件处理方法详解
Jun 20 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/03/19 PHP
php根据日期判断星座的函数分享
2014/02/13 PHP
php实现PDO中捕获SQL语句错误的方法
2017/02/16 PHP
调试php程序的简单步骤
2019/10/04 PHP
15 个 JavaScript Web UI 库
2010/05/19 Javascript
jQueryPad 实用的jQuery测试工具(支持IE,chrome,FF)
2010/05/22 Javascript
网页右键ie不支持event.preventDefault和event.returnValue (需要加window)
2013/02/22 Javascript
JavaScript中的原型和继承详解(图文)
2014/07/18 Javascript
使用jQuery设置disabled属性与移除disabled属性
2014/08/21 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
2014/09/11 Javascript
JS简单编号生成器实现方法(附demo源码下载)
2016/04/05 Javascript
jQuery EasyUI 右键菜单--关闭标签/选项卡的简单实例
2016/10/10 Javascript
js实现PC端和移动端刮卡效果
2020/03/27 Javascript
浅谈Webpack自动化构建实践指南
2017/12/18 Javascript
vue better scroll 无法滚动的解决方法
2018/06/07 Javascript
layui select获取自定义属性方法
2018/08/15 Javascript
JS随机密码生成算法
2019/09/23 Javascript
详解vue中在循环中使用@mouseenter 和 @mouseleave事件闪烁问题解决方法
2020/04/07 Javascript
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
[01:32:50]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第一场 1月25日
2021/03/11 DOTA
Django 前后台的数据传递的方法
2017/08/08 Python
python下载文件记录黑名单的实现代码
2017/10/24 Python
详解Python 正则表达式模块
2018/11/05 Python
python实现密度聚类(模板代码+sklearn代码)
2020/04/27 Python
Python基于staticmethod装饰器标示静态方法
2020/10/17 Python
德国大型的家具商店:Pharao24.de
2016/10/02 全球购物
餐饮部总监岗位职责范文
2014/02/13 职场文书
个人实习生的自我评价
2014/02/16 职场文书
共产党员承诺书
2014/03/25 职场文书
护士感人事迹
2014/05/01 职场文书
农村党员学习党的群众路线教育实践活动心得体会
2014/11/04 职场文书
植物园观后感
2015/06/11 职场文书
初中英语教师个人工作总结2015
2015/07/21 职场文书
Go语言带缓冲的通道实现
2021/04/26 Golang
MyBatis 动态SQL全面详解
2021/10/05 MySQL
JAVA SpringMVC实现自定义拦截器
2022/03/16 Python