# hci-spider **Repository Path**: scauhci/hci-spider ## Basic Information - **Project Name**: hci-spider - **Description**: HCI2015-2016寒假作业之爬虫 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2016-01-24 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 欢迎来访HCI第一次趣玩作业,本次作业主要是完成爬虫的简单设计以及掌握团队协作工具的应用。 ### 爬虫知多少 概要:网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 ### 项目概要 本次项目主要目的为简单的网页抓取和数据处理。本次需要抓取的网站为豆瓣读书。进行分类后存储到本地文件或数据库。 ### 思路教程 + 体验和发现url规则(如学院OJ系统报名列表[http://acm.scau.edu.cn:8000/uoj/register/displayActivity.html?id=29&page=1"](http://acm.scau.edu.cn:8000/uoj/register/displayActivity.html?id=29&page=1"),这里的page就是页码) + 获取网页文件 + 分析页面元素,抓取有效数据 心有余力的同学可以尝试迭代分析页面元素(链接)抓取整站页面。(需要考虑链接的重复性和同属于一站) ### 部分教程(思路) 时间有限,对此也不再赘述,参考如下文章: * Python教程: [https://www.thenewboston.com/forum/topic.php?id=1610](https://www.thenewboston.com/forum/topic.php?id=1610) (参考技术:request和bs4) * powershell部分代码 ``` # 抓取页面 $web = New-Object System.Net.WebClient $web.Encoding = [System.Text.Encoding]::UTF8 $str = $web.DownloadString("http://localhost") $str # 分析HTML function Get-HtmlElement ($Id,$Name,$Class,$Tag) { if($Id) { return $ie.Document.getElementById($id) } elseif($Name) { return $ie.Document.getElementsByName($Name) } elseif($Class) { $ie.Document.all | where {$_.className -contains $Class} } elseif($Tag) { $ie.Document.getElementsByTagName($Tag) } } ``` * 其他语言一律欢迎 ### 成果 + 有效的可视化数据(网页或者其他形式的报表等) + 源代码和说明文档 _提交方式:在git.oschina.net上管理项目,在scauhci的hci-spider处将项目地址提交到issue_ ### 后话 本作业为小组作业或个人作业,建议人数不超过2人,可以选择使用自己最熟悉的语言编写。同样需要邀请一位13级师兄/师姐作为指导。强烈推荐大家学习多样化的语言!有任何疑问,可直接在`HCI@上有老下有小群`讨论。也可以在本文后面的评论框直接评论。