一、介绍
该例为使用python进行爬虫,主要是再网易云课堂中搜索“python”后将搜索到的课程内容拿下来并且保存到本地excel文档。
核心用到的包是xlsxwriter, requests
通过request获取课程数据信息,使用json()方法获取课程信息的json格式数据,用xlsxwriter写入excel文档中。
爬取后的数据放在我的github中,可供参考:https://github.com/BiubiuNigel/python_project.git
注: 这个例子仅仅是用于记录学习过程以及遇到的问题,如有错误欢迎指正。
二、遇到的问题
在代码完成后遇到了几个问题:
1、
HTTPSConnectionPool(host=‘xxxxx‘, port=443)
解决方式:运行爬虫时打开了VPN连接,关闭VPN就可以了
2、
equests.exceptions.InvalidHeader: Invalid return character or leading space in header: user-agent
应该是在复制user-agent的时候多复制了一个空格,检查一下是否多出即可
三、代码
'''
爬网易在线课堂关于python的课程
运用xlsxwrite写到excel文档中
Author: Nigel Chen
Date: 21/01/2022
'''
import requests
import xlsxwriter
def get_json(index):
'''
爬取json信息
:param index: 当前索引,从0开始
:return: JSON数据
'''
url = "https://study.163.com/p/search/studycourse.json"
#playload信息
playload = {
"activityId": 0,
"keyword": "python",
"orderType": 50,
"pageIndex": index+ 1,
"pageSize": 50,
"priceType": -1,
"qualityType": 0,
"relativeOffset": 0,
"searchTimeType": -1,
"searchType": 30
}
#header 信息
headers = {
"accept": "application/json",
"host" : "study.163.com",
"content-type": "application/json",
"origin": "https://study.163.com",
"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.45