使用python异步爬取淘宝大量商品的价格,并生成excel文件_python抓取淘宝商品信息导出excel(2)

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

header={“user-agent”:“”,“Cookie”:‘’}#header字典的value为刚刚复制的的user-agent和cookie

async def getExcel(url,header):
async with sem:
async with aiohttp.ClientSession() as session:
async with session.request(‘GET’,url,headers=header) as result:
try:
info=[]#定义一个列表,用于存储商品名称和价格
text=await result.text()#异步获得页面信息
GoodsNames=re.findall(r’“raw_title”:“.*?”‘,text)#使用正则表达式获取页面的商品名
GoodsPrices=re.findall(r’“view_price”:“[\d.]*”‘,text)#使用正则表达式获取页面商品的价格
#将该页面的商品名称和价格保存到info列表中
for i in range(len(GoodsNames)):
try:
GoodsName=eval(GoodsNames[i].split(’:‘)[1])
GoodsPrice=eval(GoodsPrices[i].split(’:‘)[1])
info.append([GoodsName,GoodsPrice])
except:
info.append([’‘,’‘])
except:
pass
#将保存有商品信息的info列表写入csv文件,注意文件的打开模式一定要为’a’,否则下一页面输入文件的新内容将覆盖本页面输入文件的内容。
f=open(‘goods_info.csv’,‘a’,encoding=‘utf-8’)
for every in info:
f.write(‘,’.join(every)+‘\n’)

def main(header):
goods=input(‘请输入想检索的商品:’)
num=eval(input(‘请输入想检索的页面数:’))
start_url=‘https://s.taobao.com/search?q=’ + goods
url_lst=[]
#生成要爬取的多个页面的url列表
for i in range(num):
url_lst.append(start_url+‘&s=’+str(44*i))
loop=asyncio.get_event_loop()#获取事件循环
tasks=[getExcel(url,header) for url in url_lst]#生成任务列表
loop.run_until_complete(asyncio.wait(tasks))#激活协程

if name==‘__main__’:
main(header)


注意:  
 1、写入文件时在f.open()里要用‘a’,**如果用的是‘w’那么循环写入时旧的内容会被新写入的覆盖掉。**  
 2、开头的header字典要添加进去user-agent和cookie的value,否则无法爬取任何信息。


编译执行,输入想要爬取的商品和 想要爬取多少页,运行。



请输入想检索的商品:羽绒服
请输入想检索的页面数:100

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

并且后续会持续更新**

如果你需要这些资料,可以戳这里获取

  • 13
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值