python爬取淘宝商品销量信息
Python  /  管理员 发布于 7年前   168
python爬取淘宝商品销量的程序,运行程序,输入想要爬取的商品关键词,在代码中的‘###'可以进一步约束商品的属性,比如某某作者的书籍,可以在###处输入作者名字,以及时期等等。最后可以得到所要商品的总销量
import requestsimport bs4import reimport 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()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号