警告:本教程仅可由于合法用途,由此带来的一切法律与其他形式责任自负。
这两天网课上得头疼,闲来无事,拿中国大学MOOC开开刀。
首先,打开自己的中国大学MOOC的“个人中心”页面。

可以看到,显示的信息包括用户名、关注、讨论等等。同时,发现其url格式为https://www.icourse163.org/home.htm?userId=XXX#/home/course
那好,随便修改一下userId再进行访问

成功跳转到了别人的个人中心界面。注意,这一部分其实应该属于公开信息!(因为如果你在讨论区域点击其他人的用户名一样会跳转到这个界面,官方并没有禁止访问)
想到刚开始用的时候老师曾经要求把用户名修改成学校+学号+姓名的格式(而且很多人不会再修改用户名)
那么,是否可以通过爬虫抓取用户名,从中筛选出有用的(也是相对敏感一些的)信息?当然可以。
尝试抓包,发现get到的html中并未含有有用信息(html在之后的加载过程中被修改了)
如果尝试模拟整个交互过程明显非常麻烦。怎么办?无头浏览器。通过模拟真实浏览器操作加载完整的html并进行抓取。
相关资料参见
selenium库的基本使用 - 简书
selenium无头浏览器–谷歌 - 北边的大鱼 - 博客园
下载chromedriver并进行配置。然后就可以进行抓取操作。
代码如下

import requests
import re
from selenium import webdriver# 创建一个参数对象,用来控制chrome以无界面模式打开
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')  # # 浏览器不提供可视化页面
chrome_options.add_argument('--disable-gpu')  # 禁用GPU加速,GPU加速可能会导致Chrome出现黑屏,且CPU占用率高达80%以上
chrome_options.add_experimental_option('excludeSwitches', ['enable-logging']) #不打印日志 否则每次抓取都会打印driver = webdriver.Chrome(options=chrome_options, executable_path=r'XXXXX') #这里是chromedriver路径
#创建对象
for i in range(1140089847,1150170000): #i即为userIdurl="https://www.icourse163.org/home.htm?userId={0}#/home/course"url=url.format(i)driver.get(url)username = driver.find_elements_by_class_name('f-thide')[1].text  #匹配到三个对象,第二个为用户名所在#if(('u'in username) or('U' in username) or('大学' in username)): #筛选有用信息print(i,end = " ")print(username)

运行后就可以在命令行看到用户名以及对应的userId。至于userId的范围请自行实验,初步估计在1000万以上。
唯一的问题是信息有效率比较低,可能数千个数据仅有一个有效,而且数据来源无法定向。
但是另一个方面,资料的质量和效率相对较高。运气好的话详细信息全部会有。
更重要的有两点。一当然是这属于公开数据,相对安全。二是有了userId,可以通过课程/讨论/关注与粉丝,定位到该用户的同学和老师,再按照这些人的课程/讨论/关注与粉丝定位更多人。
如果该用户的用户名为敏感信息,则相关用户的用户名很有可能都是同一格式。换言之,这种方法提供的不是一个个单独的数据,而是一个个相互联系的人。
转载请注明出处 xyzmpv

中国大学MOOC公开信息收集相关推荐

  1. Python爬取中国大学MOOC课程信息

    问题:获取中国大学MOOC平台的课程信息,包括开课学校.课程类别(标签).课程名称.课程评分.评价人数和已参加课程人数. 思路: 1.进入中国大学MOOC首页,点击"学校",进入学 ...

  2. 中国大学MOOC课程信息之数据分析可视化二

    版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/82318571 - 写在前面 本篇博客继续对中国大学MOOC ...

  3. 中国大学MOOC课程信息之数据分析可视化一

    版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/82263391 9月2日更:中国大学MOOC课程信息之数据分 ...

  4. 中国大学MOOC课程信息爬取与数据存储

    版权声明:本文为博主原创文章,转载 请注明出处: https://blog.csdn.net/sc2079/article/details/82016583 10月18日更:MOOC课程信息D3.js ...

  5. 关于中国大学mooc嵩天老师课程中定向爬取淘宝产品信息

    关于中国大学mooc嵩天老师课程中定向爬取淘宝产品信息 python小白最近看老师课程,发现淘宝网页升级了,用以前的代码爬不了,查找了很多资料后发现了一些缺陷,在此分享给大家 老师的代码大体上没问题, ...

  6. python语言程序设计慕课_中国大学MOOC(慕课)_Python语言程序设计基础_试题及答案...

    中国大学MOOC(慕课)_Python语言程序设计基础_试题及答案 更多相关问题 智慧职教: 反应级数的绝对值不会超过3,可以是正整数或者负整数,不能是分数. 在铆接过程中,铆孔的质量直接影响铆接质量 ...

  7. 计算机技术应用广泛 属于科学计算方面的是,中国大学MOOC: 计算机技术应用广泛,以下属于科学计算方面的是哪个? 答案:火箭轨道计算...

    相关问题 端口的作用是什么? 基于冰山模型的人才选拔模式,在应届生招聘.员工晋升等工作中都会应用,以下属于冰山模型中提到的考察因素的是 创意的结果和过程不一定能够准确面对商业应用,创新则更需要( )和 ...

  8. python 慕课网请编写一个fib函数_中国大学MOOC(慕课)Python编程基础章节测试答案...

    中国大学MOOC(慕课)Python编程基础章节测试答案 更多相关问题 放射免疫分析法中,下列有关准确度的描述正确的是A.测得最少量的物质浓度B.重现性C.检测到单一物 社会鼎盛是唐代()的主要原因. ...

  9. 使用计算机要遵循哪些规则,中国大学MOOC:\\\在计算机网络的定义中,把众多计算机有机连接起来要遵循规定的约定和规则,称之为( )。\\\;...

    问题:中国大学MOOC:\\\"在计算机网络的定义中,把众多计算机有机连接起来要遵循规定的约定和规则,称之为( ).\\\"; 更多相关问题 在地方性分异因素作用下,土地类型的分布 ...

  10. 算盘在计算机中的应用,中国大学MOOC: 算盘、计算机都是信息处理的工具。

    答案 查看答案 解析: [解析题]当前,应用计算机解决实际问题的能力主要体现为能够熟练使用OFFICE和网页制作工具操作计算机. [解析题]多媒体计算机中的媒体信息是指( ) [解析题]在计算机科学中 ...

最新文章

  1. 如何优雅地展示机器学习项目!
  2. java课堂疑问解答与思考2
  3. 基于倒谱法和线性预测法估计基音频率(MATLAB和Python)
  4. JRE里居然隐藏了一个自带的js engine
  5. SAP云平台上应用的HTTPS证书
  6. TCP/IP 详解 卷一 协议 (第二版)翻译问题(第一周)2018
  7. 分步骤演示如何使用Filter链拦截MyServlet的同一个请求
  8. 制作CentOS 5.9自动安装光盘iso镜像
  9. JDBC系列 之 存储过程
  10. linux如何进入超级终端,使用telnet和超级终端登录控制Ubuntu
  11. 下载安装typora
  12. 3dMax建筑demo制作
  13. 华为vrrp默认优先级_网关冗余VRRP
  14. 至多包含 K 个不同字符的最长子串
  15. 答题小程序自学(一)
  16. C - Line-line Intersection
  17. 计算机网络常见面试题(自答版)
  18. 【文章思路、算法分析】Membership Inference Attacks Against Machine Learning Models
  19. springboot和mybatis 多数据源
  20. 记录EVE-NG抓包时wireshark报错Connection abandoned.

热门文章

  1. Seismic Unix安装
  2. 人物-作家-卡耐基:戴尔·卡耐基
  3. win7声音小图标不见了,如何修复
  4. 图神经网络(ICML2022)
  5. php模板如何使用,PHP自定义模板标签详细解答,让你轻松驾驭
  6. elementui不生效
  7. nodejs压缩成7z_[Node] 传智NodeJS前端与移动开发顶级全套视频教程完整版
  8. webkit未能加载文件或程序集WebKitBrowser
  9. 计算机软件服务票可以抵扣吗,航天的软件技术维护费是否可以全额抵扣?
  10. XCTF-攻防世界CTF平台-Web类——19、mfw(.Git源代码泄露、php的assert断言)