Python分页爬取腾讯课堂课程名及内容&以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文件夹打开课程,此时便存入到表中了,以下是部分的内容
感悟:
至从受到老师的启发,开始在博客上写一些自己所学习的、所做的、所想的、所领悟的,本来不想发朋友圈和动态的我不知道在哪里倾诉自己内心的想法,现在终于找到一个和大家一起分享学习的地方,使人快乐、轻松和愉悦,在此谢谢这位老师的启蒙,同时也谢谢这个****这个学习分享小天地!