参考链接: 从人人网获取全国中学信息(省市县)

主要代码为参考+改进上面博客的原创,在人人网的select弹框form里面抓取出全国高校名单.


主要代码块如下

def getProvinceData():content = open("./cityArray.js", encoding='utf-8')# 分离出市级id和名称partten = re.compile("(\d+):([\w\d\\\\]+)")provinceList = []for line in content.readlines():data = partten.findall(line)citys = []province = {}for s in data:# print(s)if len(s[0]) == 4:  # 城市# print s[0],s[1].decode('unicode_escape')citys.append({"id": s[0], "name": unescape(s[1])})province_id = len(data[0][0]) == 4 and data[0][0] or data[0][0][0:4]# 只处理列表中的几个省if int(province_id) in provinceMap.keys():province['id'] = province_idprovince['name'] = provinceMap[int(province_id)]province['citys'] = citysprovinceList.append(province)return provinceListdef getTownHtml(town_id, scoolType):try:url = "http://support.renren.com/{0}/{1}.html".format(scoolType, town_id)# print "请求网络数据:",urla = requests.get(url, headers=headers).textprint(a)return aexcept:print("网络错误!")passdef getCitySchool(content):selector = etree.HTML(content)# 某个城市的中学列表# 县区的列表townlist = selector.xpath('//ul')# print(townlist)d = {}for town1 in townlist:name1 = town1.xpath('./@id')[0].strip()if name1 == "schoolCityQuList":d["city"] = []city1 = town1.xpath('.//a')for y in city1:y1 = etree.tostring(y, encoding='utf-8', pretty_print=True, method="html").decode(encoding="utf-8")d["city"].append({"name": re.findall('>(.*?)</a>', y1)[0],"id": re.findall("'city_qu_(.*?)'", y1)[0]})continuecitySchoolData = []townLiList = town1.xpath('.//a')for town in townLiList:p = {}town = etree.tostring(town, encoding='utf-8', pretty_print=True, method="html").decode(encoding="utf-8")print(town)# input()try:p['name'] = re.findall('>(.*?)</a>', town)[0]except:p['name'] = re.findall('>(.*?)\n', town)[0]p['id'] = re.findall('href="(.*?)"', town)[0]citySchoolData.append(p)for x in d.get('city'):if name1.replace('city_qu_', '') == x.get('id'):x['schoolList'] = citySchoolDatareturn d.get('city')def getUnicodeStr(s):name = []for word in s.split(";"):try:name.append(chr(int(word[2:])))except:passreturn "".join(name)

结果展示(最终格式为json):


Ending

Github传送门

持续更新ing (欢迎各种star与fork)

联系方式: 442891187(QQ)

如有权益问题可以发私信联系我删除

网络爬虫-抓取全国高校名单(分区域)相关推荐

  1. 基于Thinkphp5+phpQuery 网络爬虫抓取数据接口,统一输出接口数据api

    TP5_Splider 一个基于Thinkphp5+phpQuery 网络爬虫抓取数据接口 统一输出接口数据api.适合正在学习Vue,AngularJs框架学习 开发demo,需要接口并保证接口不跨 ...

  2. python展示全部好友_利用Python网络爬虫抓取微信好友的签名及其可视化展示

    前几天给大家分享了如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化,利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例,以及利用Python网络爬虫抓取微信好友的所 ...

  3. C#网络爬虫抓取小说

    C#网络爬虫抓取小说 2017-09-05DotNet (点击上方蓝字,可快速关注我们) 来源:苍 cnblogs.com/cang12138/p/7464226.html 阅读目录 1.分析html ...

  4. python爬虫微信朋友圈怎么发文字_如何利用Python网络爬虫抓取微信朋友圈的动态(上)...

    今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌 ...

  5. python爬虫好友聊天记录_利用Python网络爬虫抓取微信好友的签名及其可视化展示...

    前几天给大家分享了如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化,利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例,以及利用Python网络爬虫抓取微信好友的所 ...

  6. 用python爬虫下载视频_使用Python编写简单网络爬虫抓取视频下载资源

    我第一次接触爬虫这东西是在今年的5月份,当时写了一个博客搜索引擎,所用到的爬虫也挺智能的,起码比电影来了这个站用到的爬虫水平高多了! 回到用Python写爬虫的话题. Python一直是我主要使用的脚 ...

  7. python抓取微信朋友圈动态_2018最全如何利用Python网络爬虫抓取微信朋友圈的动态...

    今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌 ...

  8. python爬虫能爬取微信密码吗_如何利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例...

    今天我们继续focus on微信,不过这次给大家带来的是利用Python网络爬虫抓取微信好友总数量和微信好友男女性别的分布情况.代码实现蛮简单的,具体的教程如下. 相信大家都知道,直接通过网页抓取微信 ...

  9. 2018最全如何利用Python网络爬虫抓取微信朋友圈的动态

    今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌 ...

最新文章

  1. 提高性能:用RequireJS优化Wijmo Web页面
  2. java gps 距离计算_java计算两个GPS经纬度之间的距离(转)
  3. android 文字控件闪烁
  4. android项目编译时提示找不到*.apk(could not find the *.apk)
  5. Spark Streaming 执行流程
  6. ODBC驱动,没装怎么办
  7. c语言二叉树学生成绩,二叉树C语言
  8. 一起来学ES —— 浅谈Nested结构
  9. 会做饭的机器人曰记_做饭机器人作文作文300字
  10. 基于注意力机制的循环网络进行层级性多元标签文本分类
  11. python调用turtle(海龟画图),画一个正方形
  12. 一篇文章了解爬虫技术现状
  13. l计算机中数的表示教案,计算机一级B第一章教案汇总.doc
  14. php判断caj文件页数,CAJ转Word有没有既免费还不限制页数的转换工具?
  15. DHCP 解决单位网络私接路由器的办法
  16. 真心话大冒险的暴强回复
  17. 我为什么要写博客,写博客的意义是什么??
  18. 前端vue导出Excel(多sheet)
  19. 5大电脑软件推荐!每一款都是精心挑选,良心推荐!
  20. 一个月过软考|软件设计师中级考试经验分享

热门文章

  1. 不靠视觉靠力觉,佐治亚理工学院团队使机器人自学帮助人类穿衣
  2. 运用if语句,制作年龄阶段判断
  3. MySQL 关键字和保留字汇总(MySQL 8.0)
  4. php rbac实现,php实现rbac权限管理
  5. 汇编和c只有一步之近----小话c语言(19)
  6. MySQL数据库原理习题---SQL复杂查询
  7. 在网页插入朝鲜文字(九千多个朝鲜的文字)
  8. linux下 远程桌面连接,Unix/Linux下通过远程桌面连接Windows OS
  9. redis的单机、哨兵、集群模式对比
  10. 关于《丑陋的中国人》一些想法