教您如何从Internet采集大量数据.
优采云 发布时间: 2020-08-06 08:08Internet是一个大型网络,可以将采集数据的小型程序生动地称为“爬虫”或“蜘蛛”.
搜寻器的原理非常简单. 当我们访问网页时,我们将单击翻页按钮和超链接,浏览器将帮助我们请求所有资源和图片. 因此,您可以设计一个程序,该程序可以模拟人在浏览器上的操作,并使网站错误地认为爬虫是正常的访问者,并且会乖乖地将所需的数据发送回去.
爬虫有两种类型,一种搜索引擎爬虫,可以捕获所有内容,例如百度(黑色). 另一个是经过开发的,只能准确地捕获所需的内容: 例如,我只需要二手房信息,并且我不想在其旁边放置广告和新闻.
名称搜寻器不好用,所以我将此软件命名为Hawk,指的是“ Eagle”,它可以准确,快速地捕获猎物. 基本上不需要编程,并且可以通过类似于Photoshop的图形化拖放操作来快速设计搜寻器. 它可以在20分钟内为Dianping编写爬虫程序(简化版只需要3分钟),然后就可以运行它.
以下是使用Hawk捕获二手房的视频. 建议在wifi环境中观看:
自动将网页导出到Excel
那么,页面是如此之大,爬虫如何知道我想要的?
当然,人们可以很容易地看到上图中的红色框是二手房的信息,但是机器不知道.
网页是一棵结构化的树,重要信息所在的节点通常很繁华. 举一个不适当的例子,由家谱组成的家谱,谁是最好的?当然是:
每个人都会认为这个家庭太强大了!
当我们对整个树结构进行评分时,我们自然可以找到最强大的节点,即我们想要的表. 在找到最好的爸爸之后,尽管儿子相似: 个子高大,英俊,有两条胳膊和两条腿,但这些是共同的特征,没有足够的信息. 我们关心的是特性. 长子的锥子脸与其他人不同,那是重要的信息. 第三儿子是最富有的人,也是我们所关心的. 因此,通过比较儿子的不同属性,我们可以知道哪些信息很重要.
返回网页采集示例. 通过一组有趣的算法提供网页地址,该软件会自动将其转换为Excel! (不明白吗?如果您不明白,则不必关心这些细节!)
◆◆◆
裂纹翻页限制
获取一页的数据还不够,我们要获取所有页面的数据!很简单,我们让程序一个接一个地请求第一页,第二页...数据被采集回
就这么简单吗?该网站如何允许如此轻松地带走其宝贵数据?因此它只能转到第50页或第100页. Chain Home就像这样:
这也不打扰我们. 每页有30个数据,而100页最多可以显示3000个数据. 北京有16个区县的20,000个社区,但每个区的社区数量不到3,000个. 我们可以分别获取每个地区的社区列表. 每个社区最多有300多个二手房待售,因此可以获得联家的所有二手房.
然后,我们启动抓取器,Hawk将为每个子线程(可以理解为机器人)分配一个任务: 为我抓取该社区中的所有二手房!然后,您将看到一个壮观的场景: 一堆小型机器人协同工作以从网站上移动数据,是否有超级牛迅雷?同时执行100个任务! !当我从厕所回来时,我会抓住它! ! !
◆◆◆
清洁: 识别并转换内容
获得的数据如下:
但是您将看到,应该删除一些奇怪的字符. xx平方米应提取的所有数字. 而价格,有些是213万元,有些是373万元,这些都很难应付.
但是,没关系! Hawk可以自动识别所有数据:
哈哈,那么您可以轻松地使用这些数据进行分析,纯净无污染!
◆◆◆
破解需要登录的网站
当然,这里的意思不是破解用户名和密码,它还不够强大. 某些网站数据需要登录才能访问. 这不会打扰我们.
当您打开Hawk的内置嗅探功能时,Hawk就像一个录音机,它将记录您对目标网站的访问. 之后,它将重播它以实现自动登录.
您是否担心Hawk保存您的用户名和密码?如何不保存自动登录?但是Hawk是开源的,所有代码都已经过审查并且是安全的. 您的私人信息将仅位于您自己的硬盘中.
(我们像这样自动登录到滇平)
◆◆◆
我是否也可以捕获数据
理论上是. 但是这条路高至一英尺,而魔术却在高处. 不同的网站是非常不同的,并且有许多技术可以对抗爬虫. 这些错误对细节非常敏感. 只要您输入有误,下一步可能就不会继续.
该怎么办? Desert先生保存并共享以前的操作,您只需加载这些文件即可快速获取数据.
如果您可以访问其他网站,则可以在您周围找到程序员和同学,并要求他们帮助捕获数据,或者让他们尝试Hawk来看看谁更有效.
如果您是一名文科生的女孩,我建议您看看东野圭吾和村上春树. 直接使用如此复杂的软件会让您发疯. 我应该打电话给谁来帮助捕获数据?呵呵呵...
◆◆◆
在哪里可以获得软件和教程?
Hawk: 使用C#/ WPF软件简介编写的高级Crawler&ETL工具
HAWK是数据采集和清理工具,根据GPL协议是开源的,可以灵活,有效地从网页,数据库和文件中采集数据,并通过可视化的拖放快速生成,过滤和转换. 最适合其功能的区域是爬网程序和数据清理.
鹰的意思是“鹰”,可以有效,准确地杀死猎物.
HAWK用C#编写,其前端接口是用WPF开发的,并且支持插件扩展. 通过图形操作,可以快速建立解决方案.
GitHub地址:
Python等效的实现是etlpy:
作者开发的项目文件已发布在GitHub上:
使用时,单击文件并加载项目以加载它.
如果您不想编译,则可执行文件位于:
密码: 4iy0
编译路径为: Hawk.Core \ Hawk.Core.sln
国内一站式数据智能分析平台ETHINK提供本文