import requests
import numpy as np
import pandas as pd
import warnings
warnings.filterwarnings("ignore")
pd.set_option("display.max_columns", None)
# 定义表头、url和post的data参数
header = {'cookie': 'EDUWEBDEVICE=bb5489f443964ee181e9a14c09814664; __yadk_uid=LqHB5kOEBbbL0kPIwxiZueVnLhai0zBk; WM_TID=tqU6%2FbJoxCZAVVFQFQJ6VjsKmzlbjpwz; bpmns=1; hasVolume=true; videoVolume=1; videoRate=2; NTESSTUDYSI=ac857d3f7aa1456f9fb9c3405297f4b9; Hm_lvt_77dc9a9d49448cf5e629e5bebaa5500b=1603701352,1603770381; WM_NI=q7QCsILAV4vfIImy2UAvO4mSrgpg1iZ8UugKWgYZn7COdjI8ycH8ubbHV2TXgaXDwXNRhprTmXmZK6eC4%2BGlDnFPBKjSNbwYiXTSzw3zQQdgMPPSjJuoXE9bs644ix58dEk%3D; WM_NIKE=9ca17ae2e6ffcda170e2e6eeb0ae49a5bab9b7db2592a88ab3c44f978a9faff842afed9aabb43f898b8cb1ec2af0fea7c3b92ab3e99fa4f243909f9ad5f56e8b97a39ab15f83aa81d5f059b2b9c088b4639ae89b96e64195b997bbed3d8191ac8bcc34bbbd88d9f86aa2989ad3d754a5bf98a5f6548e8ea891f160af88a3bbca3ea79dfcccc66888b28ab1c141aa8d8283f653ab889cb4f97df1a69fb2e76d8f90a0b4e942b7b198a6bc6ab1eafcd5ec74f7e8aca6ea37e2a3; Hm_lpvt_77dc9a9d49448cf5e629e5bebaa5500b=1603784565','user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36'}
url = 'https://www.icourse163.org/web/j/mocCourseV2RpcBean.getCourseEvaluatePaginationByCourseIdOrTermId.rpc?csrfKey=ac857d3f7aa1456f9fb9c3405297f4b9'
dat = {'courseId': '1002421002','pageIndex': '48','pageSize': '20','orderBy': '3'}
# 定义爬取函数
def get_comment(dat):res = requests.post(url, headers=header, data=dat)result_1 = res.json()mark = [i['mark'] for i in result_1['result']['list']]content = [i['content'] for i in result_1['result']['list']]commentorId = [i['commentorId'] for i in result_1['result']['list']]userNickName = [i['userNickName'] for i in result_1['result']['list']]termId = [i['termId'] for i in result_1['result']['list']]gmtModified = [i['gmtModified'] for i in result_1['result']['list']]comment = pd.DataFrame({'mark': mark, 'content': content, 'commentorId': commentorId,'userNickName': userNickName, 'termId': termId, 'gmtModified': gmtModified})return comment
# 进行测试
test = get_comment(dat)
comments = pd.DataFrame(columns=test.columns)
# 数据爬取
for i in range(49):dat_new = {'courseId': '1002421002','pageIndex': i,'pageSize': '20','orderBy': '3'}comment = get_comment(dat_new)comments = comments.append(comment)
# 本地化保存
comments.reset_index(drop=True, inplace=True)
comments.to_csv('comments.csv', encoding='utf-8-sig')

【requests:动态网页爬取】慕课评价相关推荐

  1. Python爬虫: 单网页 所有静态网页 动态网页爬取

    Python爬虫: 单网页 所有静态网页 动态网页爬取 前言:所有页代码主干均来自网上!!!感谢大佬们. 其实我对爬虫还挺感兴趣的,因为我玩instagram(需要科学上网),上过IG的人都知道IG虽 ...

  2. 网络爬虫(动态网页爬取关于混合动力汽车的论文数据)

    一.实验目的 (1) 熟悉网页浏览器开发工具的使用: (2) 掌握动态网页加载过程: (3) 掌握 post 请求参数设置: (4) 掌握基本的反反爬技术: (5) 能够根据问题需求,指定网络爬虫方案 ...

  3. Python网络爬虫数据采集实战:同花顺动态网页爬取

    前文的爬虫都建立在静态网页基础之上,首先通过请求网站url获取到网页源代码.之后对源代码进行信息提取进而存储即可,本文则针对动态网页进行数据采集,首先介绍Ajax相关理论,之后实战爬取同花顺动态网页, ...

  4. webmagic+selenium模拟浏览器启动(动态网页爬取方法之一的第一步)

    现在绝大多数网页都是动态生成的,那么学习爬虫就意味着更加困难.若是静态网页,只需要了解如何连接网络和分析网页源代码提取标签信息即可,但是动态网页的话,就需要使用到一些特定的框架来爬取了.比较实用的爬取 ...

  5. 爬虫入门(三)——动态网页爬取:爬取pexel上的图片

    Pexel上有大量精美的图片,没事总想看看有什么好看的自己保存到电脑里可能会很有用 但是一个一个保存当然太麻烦了 所以不如我们写个爬虫吧(๑•̀ㅂ•́)و✧ 一开始学习爬虫的时候希望爬取pexel上的 ...

  6. Python爬虫自学笔记(三)动态网页爬取

    现在很多网站用的是动态网页加载技术,这时候用前面的request库和BS4库就不能解决问题了,需要用新的办法. 打开网页,按F12或者右键弹出菜单里选择"检查",右侧会打开开发者工 ...

  7. 第二十九篇 ajax动态网页爬取,豆瓣电影,网易云音乐,千千音乐

    心得:每天进步一点点,不懂得去查询,去学习,自己慢慢会进步的更多. 自己在学习过程中总结出来的爬虫的过程: 1.导入库,确定要用到的库 2.确定要爬取的url: 动态网页往往隐藏了在XHR,JS页面内 ...

  8. pyquery获取不到网页完整源代码_python动态网页爬取:爬取pexel上的图片

    前言 同样的,我们在写一个爬虫前要明确自己想要爬取的东西是什么,明确下载目标数据在浏览器的操作如何 对于动态网页的爬取,在网页地址不变的情况下,我们首先要明确如何获取AJAX请求 首先我们看看这个网站 ...

  9. python爬取动态页面图片_python动态网页爬取:爬取pexel上的图片

    前言 同样的,我们在写一个爬虫前要明确自己想要爬取的东西是什么,明确下载目标数据在浏览器的操作如何 对于动态网页的爬取,在网页地址不变的情况下,我们首先要明确如何获取AJAX请求 首先我们看看这个网站 ...

最新文章

  1. Python的应用及优缺点分析
  2. 基于 RT-Thread的麦克纳姆轮小车循迹运动控制算法开发和研究
  3. Git指南-Git-flow开发流程
  4. 24个整点报时_大连交通广播整点报时广告怎么做?大连交通广播全新广告价格...
  5. 树状数组--快捷的线段树
  6. CFEducational Codeforces Round 66题解报告
  7. Python编程 介绍(入门)
  8. PMP试题 | 每日一练,快速提分 8.5
  9. JavaScript 全栈工程师培训教程
  10. 服务器怎么使自己的文件夹加密,NAS中如何创建和使用加密文件夹
  11. 小米平板2怎么显示电脑连接服务器,小米平板2有什么接口?小米平板2有HDMI接口吗?...
  12. 【数字图像处理】前期准备工作,库的安装(skimage库的安装!)
  13. Autosar MCAL开发必知的“术语”+“缩写”概念
  14. Win10 固定IP地址方法
  15. 云顶之弈机器人怎么拉人_LOL云顶之弈10.16b机器人怎么玩_云顶之弈10.16b机器人装备站位_3DM网游...
  16. PDF能编辑吗,怎样去掉PDF上的水印
  17. Linux基金会:开源就业的最新趋势和最需要的技能
  18. 点对点通信解决透明传输的方法
  19. 怎样做音乐相册?这篇文章教会你
  20. 利用matlab程序分别设计一正弦型信号_【电力电子】【2013.06】【含源码】永磁同步电动机三相逆变器的设计...

热门文章

  1. 贴吧python登录_爬虫:利用python完成百度贴吧数据采集
  2. SOLIDWORKS批量修改旧工程图图纸格式及绘图标准
  3. Asp.Net中索引器的介绍
  4. 主机mysql在哪里找_虚拟主机数据库在哪里
  5. 来自山西机器人乐队_全球首个中国风机器人乐队亮相演出,人工智能时代已经到来!...
  6. openwrt 版本编译
  7. java .tpl是什么模版_tpl标签定义
  8. WinEdt 10.3 Registration
  9. LaTex中箭头的表示方法
  10. 毕设项目分享 炸弹人小游戏设计与实现 (源码)