【Python爬虫篇】BeautifulSoup之腾讯课堂课程信息并以xls形式保存

Python爬取腾讯课堂名称和内容保存需要用到xlwt库

一、介绍xlwt库

1.1xlwt库安装

pip install xlwt

1.2xlwt使用介绍

work= xlwt.Workbook() #创建一个工作簿
sheet = work.add_sheet(‘Hey, Hades’)#创建一个工作表sheet
sheet.write(0,0,‘money’) #在1行1列写入money
sheet.write(0,1,‘love’) #在1行2列写入love
sheet.write(1,0,‘python’) #在2行1列写入python
work.save(‘Test.xls’) #保存,文件名为Test


二、python实现代码及如下:

#-*- coding:utf-8 -*- 
import requests
import re
from bs4 import  BeautifulSoup
import xlwt
all_info_list=[]  #定义一个空列表,用来存储爬虫数据。
headers={'user-agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.74 Safari/537.36'}
def get_info(url):
    res=requests.get(url=url,headers=headers)
    soups=BeautifulSoup(res.text,'html.parser').find_all('h4')
    for soup in soups:
        infos=soup.find_all('a')
        for info in infos:
            course=re.findall(r'(?<=title=").*?(?=")',str(info))
            href=re.findall(r'(?<=href=").*?(?=")',str(info))
        info_list=[course,href]
        all_info_list.append(info_list)
if __name__=="__main__":
    urls=['https://ke.qq.com/course/list?mt=1001&st=2002&tt=3019&page={}'.format(i) for i in range(1,10)]#实现分页
    for url in urls:
        get_info(url)
    book=xlwt.Workbook(encoding='utf-8')
    sheet=book.add_sheet('kecheng')# 新增一个工作表,可传入表名
    head=['课程','连接']
    for h in range(len(head)):
        sheet.write(0,h,head[h])
        i=1
    for list in all_info_list:
        j=0
        for data in list:
            sheet.write(i,j,data)
            j+=1
        i+=1
    book.save('D:\file\kecheng.xls')

注意:以上代码是保存到D盘的file文件夹下的kecheng.xls。因此需要在D盘下的file文件下建一个excel表,表名为kecheng(D:\file\kecheng)

这个是运行以上代码之后,在D盘中的file文件夹打开课程,此时便存入到表中了,以下是部分的内容
在这里插入图片描述

感悟:
至从受到老师的启发,开始在博客上写一些自己所学习的、所做的、所想的、所领悟的,本来不想发朋友圈和动态的我不知道在哪里倾诉自己内心的想法,现在终于找到一个和大家一起分享学习的地方,使人快乐、轻松和愉悦,在此谢谢这位老师的启蒙,同时也谢谢这个csdn这个学习分享小天地!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值