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 相关文章推荐
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
Jun 22 Python
python获取本机所有IP地址的方法
Dec 26 Python
pycharm修改文件的默认打开方式的步骤
Jul 29 Python
django中的图片验证码功能
Sep 18 Python
Matplotlib使用Cursor实现UI定位的示例代码
Mar 12 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
Apr 19 Python
基于python生成英文版词云图代码实例
May 16 Python
python2和python3哪个使用率高
Jun 23 Python
如何基于python把文字图片写入word文档
Jul 31 Python
如何一键升级Python所有包
Nov 05 Python
Python脚本调试工具安装过程
Jan 11 Python
python基础之函数的定义和调用
Oct 24 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中怎么搜索相关联数组键值及获取之
2013/10/17 PHP
php将文本文件转换csv输出的方法
2014/12/31 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
php解决DOM乱码的方法示例代码
2016/11/20 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
PHP PDOStatement::fetchAll讲解
2019/01/31 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
js 内存释放问题
2010/04/25 Javascript
jQuery ul标签下拉菜单演示代码
2010/12/11 Javascript
Node.js事件循环(Event Loop)和线程池详解
2015/01/28 Javascript
AngularJS数据源的多种获取方式汇总
2016/02/02 Javascript
jqGrid 学习笔记整理——进阶篇(一 )
2016/04/17 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
2016/06/17 Javascript
利用ECharts.js画K线图的方法示例
2018/01/10 Javascript
在vue项目创建的后初始化首次使用stylus安装方法分享
2018/01/25 Javascript
通过JavaScript下载文件到本地的方法(单文件)
2019/03/17 Javascript
JQuery复选框全选效果如何实现
2020/05/08 jQuery
js实现三角形粒子运动
2020/09/22 Javascript
Python数据结构之Array用法实例
2014/10/09 Python
在Python中使用matplotlib模块绘制数据图的示例
2015/05/04 Python
浅析使用Python操作文件
2017/07/31 Python
Python 实现简单的shell sed替换功能(实例讲解)
2017/09/29 Python
Python星号*与**用法分析
2018/02/02 Python
python实现定时自动备份文件到其他主机的实例代码
2018/02/23 Python
详解Anconda环境下载python包的教程(图形界面+命令行+pycharm安装)
2019/11/11 Python
python列表切片和嵌套列表取值操作详解
2020/02/27 Python
计算机本科生自荐信
2013/10/15 职场文书
人事专员的职责
2014/02/26 职场文书
趣味运动会标语口号
2015/12/26 职场文书
《正比例》教学反思
2016/02/23 职场文书
高质量“欢迎词”
2019/04/03 职场文书
涨工资申请书应该怎么写?
2019/07/08 职场文书
vue3如何优雅的实现移动端登录注册模块
2021/03/29 Vue.js
win10下go mod配置方式
2021/04/25 Golang
Vue实现下拉加载更多
2021/05/09 Vue.js
SQL Server数据库基本概念、组成、常用对象与约束
2022/03/20 SQL Server