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 基础学习第二弹 类属性和实例属性
Aug 27 Python
python查看FTP是否能连接成功的方法
Jul 30 Python
Python numpy实现数组合并实例(vstack,hstack)
Jan 09 Python
Python使用combinations实现排列组合的方法
Nov 13 Python
Python3安装psycopy2以及遇到问题解决方法
Jul 03 Python
利用python计算windows全盘文件md5值的脚本
Jul 27 Python
Python3 使用pillow库生成随机验证码
Aug 26 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
Sep 16 Python
python3实现绘制二维点图
Dec 04 Python
Pycharm如何导入python文件及解决报错问题
May 10 Python
Python定时任务框架APScheduler原理及常用代码
Oct 05 Python
Python监听键盘和鼠标事件的示例代码
Nov 18 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模板,主要想体现一下思路
2006/12/25 PHP
5种PHP创建数组的实例代码分享
2014/01/17 PHP
php实现读取内存顺序号
2015/03/29 PHP
ThinkPHP进程计数类Process用法实例详解
2015/09/25 PHP
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
2017/03/25 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
PHP实现本地图片转base64格式并上传
2020/05/29 PHP
CSS和Javascript简单复习资料
2010/06/29 Javascript
javascript的函数、创建对象、封装、属性和方法、继承
2011/03/10 Javascript
jquery tab插件精简版分享
2011/09/10 Javascript
jQuery根据用户电脑是mac还是pc加载对应样式的方法
2015/06/26 Javascript
全面了解javascript三元运算符
2016/06/27 Javascript
jQuery对table表格进行增删改查
2020/12/22 Javascript
JavaScript中的this陷阱的最全收集并整理(没有之一)
2017/02/21 Javascript
js面向对象方式实现拖拽效果
2021/03/03 Javascript
[01:59]翻天覆地,因你而变,7.20版本地图更新速览
2018/11/24 DOTA
Python中列表(list)操作方法汇总
2014/08/18 Python
python图片验证码生成代码
2016/07/02 Python
python 查找字符串是否存在实例详解
2017/01/20 Python
Python基于Matplotlib库简单绘制折线图的方法示例
2017/08/14 Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
2017/09/22 Python
在python中使用正则表达式查找可嵌套字符串组
2017/10/24 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
2019/06/21 Python
python tkinter组件使用详解
2019/09/16 Python
Numpy中对向量、矩阵的使用详解
2019/10/29 Python
Python基于wordcloud及jieba实现中国地图词云图
2020/06/09 Python
彻底搞懂python 迭代器和生成器
2020/09/07 Python
使用numpngw和matplotlib生成png动画的示例代码
2021/01/24 Python
一加手机美国官方网站:OnePlus美国
2019/09/19 全球购物
专科毕业生学习生活的自我评价
2013/10/26 职场文书
弘扬职业精神演讲稿
2014/03/20 职场文书
新闻传媒系求职信范文
2014/04/19 职场文书
公司门卫工作职责
2014/06/28 职场文书
销售团队获奖感言
2014/08/14 职场文书
2014年党员个人工作总结
2014/12/02 职场文书
Windows 11上手初体验:任务栏和开始菜单等迎来大改
2021/11/21 数码科技