Python 爬取淘宝商品的价格并保存到本地excel文件中
2018-11-20 19:09
579 查看
刚学Python爬虫没多久,老想着爬点什么。哈哈,刚好前段时间双11,就把淘宝爬了下。
不知道为什么,上次对淘宝进行页面读取不需要cookie就可以获取一些信息。现在需要cookie才能过去。话不多说,看代码:
[code]# coding=UTF-8 import requests import re # 正则表达式 import xlwt # excel 操作 import time # 获取时间 import threading # 需要cookies才能进 def getText(url): try: header = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68." "0.3440.75 Safari/537.36", 'cookie': "这里复制你自己的cookie" } t = requests.get(url, headers=header) # 不知道为什么,现在需要cookes才可以爬去到 t.raise_for_status() # 页面看是否有问题 return t.text except: print('页面解析出错!') return None # 在html里面得到信息,保存在li列表里面 def getMessage(li, html): if(html == None): return '' title = re.findall(r"\"raw_title\"\:\".*?\"", html) price = re.findall(r"\"view_price\"\:\".*?\"", html) loc = re.findall(r"\"item_loc\"\:\".*?\"", html) sales = re.findall(r"\"view_sales\"\:\".*?\"", html) count = title.__len__() for i in range(count): title_num = str(title[i]).split(':')[1].replace('\"', '') price_num = str(price[i]).split(':')[1].replace('\"', '') loc_num = str(loc[i]).split(':')[1].replace('\"', '') sales_num = str(sales[i]).split(':')[1].replace('\"', '') li.append([title_num, price_num, loc_num, sales_num]) def saveXls(name, li): # 将列表保存为exce文件--xls t = time.strftime('%Y-%m-%d-%H-%M', time.localtime()) # 获取现在的时间,用与文件保存 book = xlwt.Workbook(encoding='UTF-8', style_compression=0) # 创建一个xls对象 name_t = str(name+"-"+t) sheet = book.add_sheet(name) # 前面是sheet 命名 参数overwrite就是说可不可以重复写入值,就是当单元格已经非空,你还要写入 # 加了overwrite 会报错??? sheet.write(0, 0, "商品名字") sheet.write(0, 1, "商品价格") sheet.write(0, 2, "发货地") sheet.write(0, 3, "付款人数") count = 1 average = 0 print("一共"+str(li.__len__())+"个商品") for item in li: sheet.write(count, 0, item[0]) try: average = average + float(item[1]) except: print('') sheet.write(count, 1, item[1]) sheet.write(count, 2, item[2]) sheet.write(count, 3, item[3]) count = count + 1 filename = "C:\\Users\那个谁\Desktop\爬虫测试\淘宝\\"+name_t+".xls" average = average/int(li.__len__()) print("平均价格:"+str(average)) try: book.save(filename) except: try: filename = filename + str(1.0) book.save(filename) except: print("保存表格错误!!!") print("★保存成功!自行打开文件哈,我懒的输出了!★") # 根据输入的信息在淘宝上爬去商品,保存在exc里面根据名字-日期保存! def taoBao(message, page): li = [] i = page[0] count = page[1] while i <= count: num = 3-i*3 try: url = "https://s.taobao.com/search?q="+str(message)+"s="+str(num*44) html = getText(url) getMessage(li, html) except: i = i+1 continue i = i+1 # print('名字\t\t价格\t\t出售地\t\t付款人数') # for i in li: # print(i[0]+'\t'+i[1]+'\t'+i[2]+'\t'+i[3]) saveXls(message, li) if __name__ == '__main__': message = input("输入你想要搜索的商品:") start2 = time.time() page = [0, 20] taoBao(message, page) end2 = time.time() print("花费的时间:"+str(end2 - start2))
阅读更多
相关文章推荐
- Python爬取淘宝页面的数据,包含商品名字,价格及地址
- [Python] 抓取聚划算页面商品分析页面获取商品信息并以XML格式保存到本地
- Python实例之抓取淘宝商品数据(json型数据)并保存为TXT
- python通过本地保存的cookie文件实现登录并访问相关网页
- Python学习笔记之爬取网页保存到本地文件
- java 中 excel生成并文件下载保存到本地(三)
- python3 selenium+re+pyquery+mongodb爬取并保存淘宝美食商品
- python爬虫由浅入深1-从网页中爬取文件并保存至本地
- python3利用scrapy_redis将pos后台数据包含价格、规格、起订量、销售区域等信息全部保存到excel中
- python读取Excel文件以及保存Excel文件
- python保存数据到本地文件
- Python保存MongoDB上的文件到本地的方法
- 不务正业--用python爬虫抓取Konachan的图片并保存到本地文件
- python 用本地git来保存文件或者博客,实现版本控制
- Jquery操作Cookie,保存商品ID值至本地文件中
- Python 淘宝商品价格爬取(requests库+正则表达式)
- Python网络爬虫获取淘宝商品价格
- python将文件写成csv文件保存到本地
- Python保存MongoDB上的文件到本地的方法