url变换与url不变的翻页

(一)通过post方法爬取url不变的翻页数据

1.首先进行抓包选择fetch xhr,避免ctrl+r抓取所有的包在此基础之后,进行翻页,找到对应的页面包信息

在这里插入图片描述

2.post方法的后续操作

header={
‘cookie’: ‘xxxxxxxxx’
‘referer’: ‘https://www.icourse163.org/course/PKU-1460924165?from=searchPage&outVendor=zw_mooc_pcssjg_’
}

2.1下面是关于post方法中三个参数的获取来源在这里插入图片描述在这里插入图片描述在这里插入图片描述
list1=[]
//这里的for循环管到该段代码的最后
for i in np.arange(1,33,1):
    form_data = {
                'courseId':1460924165,
                'pageIndex':i,
                'pageSize':20,
                'orderBy':3

    }

//这里的url是翻页信息中的某一页,每页的url应该是一样的
    
	url = 'https://www.icourse163.org/web/j/mocCourseV2RpcBean.getCourseEvaluatePaginationByCourseIdOrTermId.rpc?csrfKey=663649ee8777498c9e505f3f4b2d3bf1'
	
	content = requests.post(url,form_data,headers=header)
	content.encoding = 'utf-8'
	js =dict(content.json())//这里其实content.json()已经是dict类型,dict只是进行一个说明
	list1.append(js)
    # 循环页面信息
for i in np.arange(1,13,1):
#     对单个页面的评论进行提取
# list中的元素个数
# 此时j是每页的数据是dict类型,j.get('result').get('list')是list类型是每页的评论
    for j in list1:
        title = '北师大数据库系统'
        list2 = j.get('result').get('list')
        for k in list2:
            userName = k.get('userNickName')
            agreeCount = k.get('agreeCount')
            content = k.get('content')
            listi = [userName, agreeCount, content,title]
            dat.append(listi)
print(dat[6])

(二)post方法与get方法的对比,post方法用来爬取url不变的翻页数据(这里翻页信息藏在xhr的数据包中),get则用来爬取url变化的翻页信息

post方法返回回来的是<class’requests.models.Response’>
json.loads(content)//处理的是字符串,而不能直接处理response
可以使用content.json()来将其直接处理成dict
get方法返回来的是str字符串,可以直接用json.loads来将其处理成为dict
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值