python爬取淘宝商品销量信息

yipeiwu_com6年前Python爬虫

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爬取历史天气数据的方法示例

用python爬取历史天气数据的方法示例

某天气网站(www.数字.com)存有2011年至今的天气数据,有天看到一本爬虫教材提到了爬取这些数据的方法,学习之,并加以改进。 准备爬的历史天气 爬之前先分析url。左上有年份、...

python网络爬虫之如何伪装逃过反爬虫程序的方法

有的时候,我们本来写得好好的爬虫代码,之前还运行得Ok, 一下子突然报错了。 报错信息如下: Http 800 Internal internet error 这是因为你的对象网站设置了...

Python实现的爬取网易动态评论操作示例

Python实现的爬取网易动态评论操作示例

本文实例讲述了Python实现的爬取网易动态评论操作。分享给大家供大家参考,具体如下: 打开网易的一条新闻的源代码后,发现并没有所要得评论内容。 经过学习后发现,源代码只是一个完整页面的...

Python编写百度贴吧的简单爬虫

操作:输入带分页的地址,去掉最后面的数字,设置一下起始页数和终点页数 功能:下载对应页码的所有页面并储存为HTML文件,以当前时间命名 代码: # -*- coding: utf-8...

python爬虫中多线程的使用详解

queue介绍 queue是python的标准库,俗称队列.可以直接import引用,在python2.x中,模块名为Queue。python3直接queue即可 在python中,多个...