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()
全部评论

相关推荐

11-09 14:54
已编辑
华南农业大学 产品经理
大拿老师:这个简历,连手机号码和照片都没打码,那为什么关键要素求职职位就不写呢? 从上往下看,都没看出自己到底是产品经理的简历,还是电子硬件的简历? 这是一个大问题,当然,更大的问题是实习经历的描述是不对的 不要只是去写实习流程,陈平,怎么去开会?怎么去讨论? 面试问的是你的产品功能点,是怎么设计的?也就是要写项目的亮点,有什么功能?这个功能有什么难处?怎么去解决的? 实习流程大家都一样,没什么优势,也没有提问点,没有提问,你就不得分 另外,你要明确你投的是什么职位,如果投的是产品职位,你的项目经历写的全都是跟产品无关的,那你的简历就没用 你的面试官必然是一个资深的产品经理,他不会去问那些计算机类的编程项目 所以这种四不像的简历,在校招是大忌
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务