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中pass语句用法实例分析
Apr 30 Python
Python处理JSON时的值报错及编码报错的两则解决实录
Jun 26 Python
离线安装Pyecharts的步骤以及依赖包流程
Apr 23 Python
Python中pow()和math.pow()函数用法示例
Feb 11 Python
使用Python和xlwt向Excel文件中写入中文的实例
Apr 21 Python
Python 中的 global 标识对变量作用域的影响
Aug 12 Python
python 统计文件中的字符串数目示例
Dec 24 Python
Pytorch中的VGG实现修改最后一层FC
Jan 15 Python
Python递归求出列表(包括列表中的子列表)的最大值实例
Feb 27 Python
Python itertools.product方法代码实例
Mar 27 Python
利用Python过滤相似文本的简单方法示例
Feb 03 Python
如何用python反转图片,视频
Apr 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
整理的一些实用WordPress后台MySQL操作命令
2013/01/07 PHP
php curl 模拟登录并获取数据实例详解
2016/12/22 PHP
Firebug 字幕文件JSON地址获取代码
2009/10/28 Javascript
javascript delete 使用示例代码
2010/03/29 Javascript
根据经纬度计算地球上两点之间的距离js实现代码
2013/03/05 Javascript
JS将光标聚焦在文本最后的实现代码
2014/03/28 Javascript
直接在JS里创建JSON数据然后遍历使用
2014/07/25 Javascript
JavaScript中的分号插入机制详细介绍
2015/02/11 Javascript
纯js实现手风琴效果
2020/04/17 Javascript
最全的Javascript编码规范(推荐)
2016/06/22 Javascript
JavaScript实现解析INI文件内容的方法
2016/11/17 Javascript
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
如何安装控制器JavaScript生成插件详解
2018/10/21 Javascript
KOA+egg.js集成kafka消息队列的示例
2018/11/09 Javascript
Vue实现移动端页面切换效果【推荐】
2018/11/13 Javascript
vue中组件的过渡动画及实现代码
2018/11/21 Javascript
vue请求数据的三种方式
2020/03/04 Javascript
解决vue-photo-preview 异步图片放大失效的问题
2020/07/29 Javascript
js实现3D旋转相册
2020/08/02 Javascript
Python实现模拟登录网易邮箱的方法示例
2018/07/05 Python
Python转换时间的图文方法
2019/07/01 Python
python hashlib加密实现代码
2019/10/17 Python
手把手教你Python yLab的绘制折线图的画法
2019/10/23 Python
python 爬取古诗文存入mysql数据库的方法
2020/01/08 Python
pytorch实现线性拟合方式
2020/01/15 Python
tensorflow 实现打印pb模型的所有节点
2020/01/23 Python
python模拟预测一下新型冠状病毒肺炎的数据
2020/02/01 Python
LightInTheBox西班牙站点:全球商品在线采购
2016/09/22 全球购物
为什么Runtime.exec(“ls”)没有任何输出?
2014/10/03 面试题
世博会口号
2014/06/20 职场文书
伦敦奥运会的口号
2014/06/21 职场文书
篮球兴趣小组活动总结
2014/07/07 职场文书
2014年服务行业工作总结
2014/11/18 职场文书
HTML基础-标签分类(闭合标签,空标签,块级元素,行内元素,行级块元素,可替换元素)
2021/03/31 HTML / CSS
Python 实现定积分与二重定积分的操作
2021/05/26 Python
聊聊配置 Nginx 访问与错误日志的问题
2022/05/25 Servers