用户:
再见2查看:0 回复:1 评论:0 创建时间:2024-01-25T22:43:38
【作品展示】

【作品介绍】
无
【作品源代码】
import requests
import xlsxwriter
def get_json(index):
# 爬虫功能
url = "https://study.163.com/p/search/studycourse.json"
payload = {
"activityId": 0,
"keyword": "python",
"orderType": 5,
"pageIndex": index,
"pageSize": 50,
"priceType": -1,
"qualityType": 0,
"relativeOffset": 0,
"searchTimeType": -1,
}
headers = {
"accept": "application/json",
"content-type": "application/json",
"origin": "https://study.163.com",
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KH喵L, like Gecko) Chrome/78.0.3904.70 Safari/537.36"
}
try:
response = requests.post(url,json=payload,headers=headers)
content = response.json()
if content and content["code"] == 0:
return content
return None
except:
print("出错了")
def get_course(content):
course_list = content["result"]["list"]
return course_list
def save_excel(course_list):
for num, course in enumerate(course_list):
row = 50*(index-1)+num+1
worksheet.write(row, 0, course["productId"])
worksheet.write(row, 1, course["courseId"])
worksheet.write(row, 2, course["productName"])
worksheet.write(row, 3, course["provider"])
worksheet.write(row, 4, course["score"])
worksheet.write(row, 5, course["learnerCount"])
worksheet.write(row, 6, course["lectorName"])
worksheet.write(row, 7, course["originalPrice"])
worksheet.write(row, 8, course["discountPrice"])
worksheet.write(row, 9, course["bigImgUrl"])
worksheet.write(row, 10, course["description"])
def main(index):
content = get_json(index) # 获取json数据
course_list = get_course(content) # 获取第index页的50条件记录
save_excel(course_list) # 写入到excel
workbook = xlsxwriter.Workbook("222.xlsx") # 创建excel
worksheet = workbook.add_worksheet("111")
worksheet.write(0, 0, "商品id")
worksheet.write(0, 1, "课程id")
worksheet.write(0, 2, "课程名称")
worksheet.write(0, 3, "机构名称")
worksheet.write(0, 4, "评分")
worksheet.write(0, 5, "学习人数")
worksheet.write(0, 6, "讲师名称")
worksheet.write(0, 7, "原价")
worksheet.write(0, 8, "折扣价")
worksheet.write(0, 9, "图片")
worksheet.write(0, 10, "课程描述")
total_page_count = get_json(1)["result"]["query"]["totlePageCount"] # 总页数
for index in range(1, total_page_count+1):
main(index)
workbook.close()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn