招生计划好长啊,能不能把他们整理一下,弄到一个csv中呢?
北京招生计划: https://www.bjeea.cn/html/gkgz/index.html
入口在左下角 招生计划,现在的链接是 https://query.bjeea.cn/queryService/rest/plan/115
程序员为了偷个懒, 准备把计划下载下来,然后输出到csv中。 csv格式是一种常见的数据格式,也是大数据相关应用中常采用的数据格式。
技术:
htmlunit: 一个很好用的library, 被广泛的使用, 比如Selenium,利用它可以在后台访问网站,解析网页来获得需要的信息。
commons-csv: 一个很好用的csv操作library.
Gitee Repo:
https://gitee.com/yanghang1977/plan-crawler
主要开过过程:
1: 建立 Java应用,在Maven中加入dependency.
2: 利用htmlunit来访问网站,获得网页上的信息。 简单来说通过WebClient 来访问某个网页,然后再得到的网页对象(HtmlPage)中可以获得我们想要的信息。 Htmlunit也支持javascript,比如在网页中点击某个按钮要运行某段javascript,htmlunit也能完美支持。
3:通过xpath或者class, id等信息来定位获得对应的html元素,然后抽取数据。基本逻辑是逐条获得学校名字,然后点击学校名字获得这个学校的招生信息,保存在map中。 然后再点击学校列表的下一页获得下一页学校信息列表。
学校列表页面
某学校的招生信息页面
4:把获得数据保存到csv中。 采集结果:https://gitee.com/yanghang1977/plan-crawler/blob/master/plans...
csv文件是utf-8编码,直接用excel打开csv文件,可能看到的是乱码, 可以新建一个excel文件,然后通过Get Data-> from file->from text/csv导入数据。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。