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 28 Python
PYTHON基础-时间日期处理小结
May 05 Python
使用Python通过win32 COM实现Word文档的写入与保存方法
May 08 Python
利用python对Excel中的特定数据提取并写入新表的方法
Jun 14 Python
Python 通过requests实现腾讯新闻抓取爬虫的方法
Feb 22 Python
学习python的前途 python挣钱
Feb 27 Python
使用python将多个excel文件合并到同一个文件的方法
Jul 09 Python
Pycharm远程调试原理及具体配置详解
Aug 08 Python
Python如何优雅获取本机IP方法
Nov 10 Python
python 类之间的参数传递方式
Dec 20 Python
使用Tkinter制作信息提示框
Feb 18 Python
OpenCV实现常见的四种图像几何变换
Apr 01 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实现WEB动态网页静态
2006/10/09 PHP
PHP simple_html_dom.php+正则 采集文章代码
2009/12/24 PHP
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
2011/08/08 PHP
php中curl、fsocket、file_get_content三个函数的使用比较
2014/05/09 PHP
php通过session防url攻击方法
2014/12/10 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
workerman结合laravel开发在线聊天应用的示例代码
2018/10/30 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
2020/04/29 PHP
jQuery 源码分析笔记(3) Deferred机制
2011/06/19 Javascript
form表单中去掉默认的enter键提交并绑定js方法实现代码
2013/04/01 Javascript
jQuery中校验时间格式的正则表达式小结
2013/09/22 Javascript
JQuery选中checkbox方法代码实例(全选、反选、全不选)
2015/04/27 Javascript
js实现div拖动动画运行轨迹效果代码分享
2015/08/27 Javascript
js改变style样式和css样式的简单实例
2016/06/28 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
简单三步实现报表页面集成天气
2016/12/15 Javascript
Cookies 和 Session的详解及区别
2017/04/21 Javascript
vue实现前进刷新后退不刷新效果
2018/01/26 Javascript
javaScript强制保留两位小数的输入数校验和小数保留问题
2018/05/09 Javascript
Vue表单提交点击事件只允许点击一次的实例
2020/10/23 Javascript
Python使用设计模式中的责任链模式与迭代器模式的示例
2016/03/02 Python
Python实现多线程抓取网页功能实例详解
2017/06/08 Python
python进行TCP端口扫描的实现
2018/12/21 Python
Python使用type关键字创建类步骤详解
2019/07/23 Python
pandas中的数据去重处理的实现方法
2020/02/10 Python
pytorch实现从本地加载 .pth 格式模型
2020/02/14 Python
Django Model层F,Q对象和聚合函数原理解析
2020/11/12 Python
python 发送get请求接口详解
2020/11/17 Python
AmazeUI 按钮交互的实现示例
2020/08/24 HTML / CSS
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
药学专业大专生的自我评价
2013/12/12 职场文书
单位人事专员介绍信
2014/01/11 职场文书
电气自动化求职信
2014/06/24 职场文书
Python实现PIL图像处理库绘制国际象棋棋盘
2021/07/16 Python
idea 在springboot中使用lombok插件的方法
2021/08/02 Java/Android
JS中forEach()、map()、every()、some()和filter()的用法
2022/05/11 Javascript