跳转到内容

HYWiki不是一个完全开放的网站。大部分的内容只有在您登录账号后才可阅读。您可以前往这个链接提交账号注册申请。

袁可一:修订间差异

来自HYWiki,开放的校园百科
无编辑摘要
无编辑摘要
第1行: 第1行:
上海中学信息与技术教师。b站账号ykykyky。
上海中学信息与技术教师,目前担任本部与国际部的教学工作。


'''逸事'''
b站账号ykykyky。


由于在2604课堂上教学“爬虫”时的一段对话,将其记载。
=== 学业经历 ===
高中就读于杨浦高级中学,大学就读于上海师范大学。


——“你们知道什么是网站吗?“
=== '''逸事''' ===


——”不知道的话,那你们知道hywiki吗?“
曾在2604课堂上教学“爬虫”时提到本站:


——”每节课都有学生想爬hywiki,我也不知道到底有什么有趣的。“
——“你们知道什么是网站吗?”


——”你们也可以试试爬hywiki,看看能不能成功。“
——”不知道的话,那你们知道hywiki吗?”


——”每节课都有学生想爬hywiki,我也不知道到底有什么有趣的。”
——”你们也可以试试爬hywiki,看看能不能成功。”


笔者当时正在浏览hywiki,故此记录。
笔者当时正在浏览hywiki,故此记录。
后来确实有学生成功将hywiki的页面爬下,获得了一个包含所有主名字空间页面文本的文件夹,其名为''“[绝密]华育中学WIKI源代码全泄露”'',大小约为 2.75MB,共1733个文件。袁可一对此事表示赞赏。爬虫使用的代码:
  import requests, json
  from urllib import parse
  header = {"Cookie":""}
  def getraw(title):
    url ="http://hywiki.xyz/api.php?action=query&prop=revisions&rvlimit=1&rvprop=content&format=json&titles="+parse.quote(title)
    html=requests.get(url,headers=header)
    html.encoding="utf-8"
    dict1 = json.loads(html.text)["query"]["pages"]
    page = {}
    for i in dict1.values():
        page = i
    print(url)
    #print(html.text)
    #print(dict1)
    print(page['revisions'][0]["*"])
    filename = "D:/hywiki/"+title+".txt"
    with open(filename, 'w', encoding= "utf-8") as file:
        file.write(page['revisions'][0]["*"])
  url_list ="http://hywiki.xyz/api.php?action=query&list=allpages&format=json"
  htmllist=requests.get(url_list,headers=header)
  htmllist.encoding="utf-8"
  ap = json.loads(htmllist.text)
  threshold = 1000
  done = 0
  while ap["batchcomplete"] == "" and threshold >= done:
    for i in range(10):
        #print(ap['query']['allpages'][i]["title"])
        getraw(ap['query']['allpages'][i]["title"])
    url_list_loop ="http://hywiki.xyz/api.php?action=query&list=allpages&format=json&apfrom="+parse.quote(ap["continue"]["apcontinue"])
    htmllist_loop=requests.get(url_list_loop,headers=header)
    htmllist_loop.encoding="utf-8"
    ap = json.loads(htmllist_loop.text)
    done +=1
[[分类:老师]]

2023年12月22日 (五) 22:43的版本

上海中学信息与技术教师,目前担任本部与国际部的教学工作。

b站账号ykykyky。

学业经历

高中就读于杨浦高级中学,大学就读于上海师范大学。

逸事

曾在2604课堂上教学“爬虫”时提到本站:

——“你们知道什么是网站吗?”

——”不知道的话,那你们知道hywiki吗?”

——”每节课都有学生想爬hywiki,我也不知道到底有什么有趣的。”

——”你们也可以试试爬hywiki,看看能不能成功。”

笔者当时正在浏览hywiki,故此记录。

后来确实有学生成功将hywiki的页面爬下,获得了一个包含所有主名字空间页面文本的文件夹,其名为“[绝密]华育中学WIKI源代码全泄露”,大小约为 2.75MB,共1733个文件。袁可一对此事表示赞赏。爬虫使用的代码:

 import requests, json
 from urllib import parse
 header = {"Cookie":""}
 def getraw(title):
   url ="http://hywiki.xyz/api.php?action=query&prop=revisions&rvlimit=1&rvprop=content&format=json&titles="+parse.quote(title)
   html=requests.get(url,headers=header)
   html.encoding="utf-8"
   dict1 = json.loads(html.text)["query"]["pages"]
   page = {}
   for i in dict1.values():
       page = i
   print(url)
   #print(html.text)
   #print(dict1)
   print(page['revisions'][0]["*"])
   filename = "D:/hywiki/"+title+".txt"
   with open(filename, 'w', encoding= "utf-8") as file:
       file.write(page['revisions'][0]["*"])
 url_list ="http://hywiki.xyz/api.php?action=query&list=allpages&format=json"
 htmllist=requests.get(url_list,headers=header)
 htmllist.encoding="utf-8"
 ap = json.loads(htmllist.text)
 threshold = 1000
 done = 0
 while ap["batchcomplete"] == "" and threshold >= done:
   for i in range(10):
       #print(ap['query']['allpages'][i]["title"])
       getraw(ap['query']['allpages'][i]["title"])
   url_list_loop ="http://hywiki.xyz/api.php?action=query&list=allpages&format=json&apfrom="+parse.quote(ap["continue"]["apcontinue"])
   htmllist_loop=requests.get(url_list_loop,headers=header)
   htmllist_loop.encoding="utf-8"
   ap = json.loads(htmllist_loop.text)
   done +=1