腾讯课堂评论单页案例
评论页面属于通过鼠标单击触发的请求,属于异步加载 XHR里面找到了数据包
1个数据包 1个url的response 10条评论 ,json类型
import requests
import jsonpath
if __name__ == '__main__':
# 1.确认目标url
url = "https://ke.qq.com/cgi-bin/comment_new/course_comment_list?cid=383855&count=10&page=0&filter_rating=0&bkn=&r=0.9750614788008092"
# 用户代理的设置
headers = {
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
"Referer":"https://ke.qq.com/course/383855"
}
# 2.发送请求,得到响应数据
response = requests.get(url,headers=headers)
# json_data = response.text
# print(json_data)
python_data = response.json()
# 3.解析数据
name_list = jsonpath.jsonpath(python_data,'$..nick_name') # 列表
print(name_list)
comment_list = jsonpath.jsonpath(python_data, '$..first_comment') # 列表
print(comment_list)
for i in range(len(name_list)):
dict_ = {}
dict_[name_list[i]] = comment_list[i]
print(dict_)
{"msg":"refer错误","type":1,"retcode":100101} >> 没有成功的抓取到数据
分析:referer错误 新的反爬点 >> refer跳转
1.User-Agent 2.Cookie 3.referer 跳转
添加跳转信息: 部分特殊url的请求,网站会检查你是从哪一个url跳转过来的
检查点:需要从主页进行跳转,否则拒绝请求
客厅 > 卧室 腾讯课堂的主页 > 评论页面 窗户 > 卧室
本文由 mdnice 多平台发布