Hawk使用补充说明】的更多相关文章

软件在发布后,收到了各方朋友的反馈和提问.此处统一对一部分问题作出回复. 感谢你使用Hawk,软件是我写的,坑是我挖的.做爬虫本来就比较复杂,一些公司有专门的程序员做爬虫工程师.因此如果你很沮丧,很有可能是网站做了不少策略,确实很难爬.哎,这也是没有办法的事情. 闲话不说,进入正题. 1.自动嗅探失败 网页采集器具备自动嗅探功能,本质上是替换掉了底层的代理.因此,所有的请求都通过Hawk内部,自然就能根据需求筛选出所需的请求. 但有些系统中安装了类似360等工具,会拒绝这类操作.导致嗅探失败.目…
沙漠君在历时半年,修改无数bug,更新一票新功能后,在今天隆重推出最新改进的超级爬虫Hawk 2.0! 啥?你不知道Hawk干吗用的? 这是采集数据的挖掘机,网络猎杀的重狙!半年多以前,沙漠君写了一篇小软文,推出了Hawk.关注的人超级多有木有! Github上的小星星一下子增加到400!超多妹子在沙漠君的粉丝应援团里疯狂崇拜!然而这不是重点!重点是Hawk真的好多"小"问题... 有朋友哭诉,刚启动小鹰它就冒烟了,还是烤肉味的!好不容易把小虫虫做好,碰了一下显示器,结果小虫虫就扑街了…
本文写于圣诞节北京下午慵懒的午后.本文偏技术向,不过应该大部分人能看懂. 五年之痒 2016年,能记入个人年终总结的事情没几件,其中一个便是开源了Hawk.我花不少时间优化和推广它,得到的评价还算比较正面,因为负面评价也没什么渠道进我耳朵. 不过你知道我写这个东西花了多久吗? 掐头去尾,这是第五个年头了. 读研究生伊始,实验室开始做数据挖掘,但我发现大家做研究,都是一段段的代码,遇到新问题,就不得不再拷贝一份修改,很少想过复用.于是我便花了一年的时间,开发了一款现在看起来配色丧心病狂的"数据挖掘…
在2.1.栏目的前台显示中因右键没有添加视图把微软给鄙视了一下,后来有仔细研究了一下发现应该鄙视自己,其实这个功能是有的,是自己没搞清楚乱吐糟. 其实只要在NuGet中安装两个包(Microsoft.VisualStudio.Web.CodeGeneration.Tools和Microsoft.VisualStudio.Web.CodeGenerators.Mvc)就可以了.如下图: 是不是熟悉的感觉又回来了.. 现在可以用右键的在弹出的对话框中添加视图了.在实际的使用中模板,可以选择Creat…
本页面您可以通过关键字搜索来获取信息. 理性使用爬虫 爬虫是一种灰色的应用,虽然作为Hawk的设计者,但我依然不得不这么说. 各大网站都在收集和整理数据上花费了大量的精力,因此抓取的数据应当仅仅作为科学研究使用.作者对Hawk的使用者的行为,不承担任何连带责任. 建议您理性使用爬虫,在不影响网站正常运营的情况下抓取数据.Hawk的好处是,较大地降低了爬虫的开发成本,能让普通用户也能使用.在这一理念下,我们仅仅提供最为实用的功能,而更多高级的功能则不会提供.比如代理切换和验证码识别. 在并行模式下…
Hawk是开源项目,因此任何人都可以为其贡献代码.作者也非常欢迎使用者能够扩展出更有用的插件. 编译 编译需要Visual Stuido,版本建议使用2015, 2010及以上没有经过测试,但应该可以编译. 需要安装.Net Framework 4.5 和.NET Framework 4.0 没有其他依赖项. 可能出现的编译问题 虽然在GitHub上是最新的代码,最新代码是可以成功编译的.但不能保证用户是否clone的是早期版本的代码,因此此处罗列可能的编译错误. 因为工程Hawk.csproj…
除了一般的数据库导入导出,Hawk还支持从文件导入和导出,支持的文件类型包括: Excel CSV(逗号分割文本文件) TXT (制表符分割文本文件) Json xml Excel 目前来看,Excel使用最多,但导出到Excel有严重的性能问题, 受限于NPOI库,数据在几万条之后,会越导越慢.笔者也在积极寻找解决策略. Excel本身对大数据量的支持也比较一般,在2013以上版本有所改善,早期版本在打开几万量级的表都非常慢. CSV和TXT 注意编码格式的问题,同时还一定要留意文本中本身包含…
Hawk在设计之初,就是以弱schema风格定义的.没有严格的列名和列属性.用C#这样的静态强类型语言编写Hawk,其实并不方便.但弱schema让Hawk变得更灵活更强大. 因此,Hawk虽然之前支持各种数据库连接器,而目前只支持MongoDB这样的文档型数据库.之所以不支持传统SQL,是因为获取的数据可能并不满足这些SQL数据库的约束:如列的顺序,列的字段类型,是否为空...很容易导致插入失败.使用Hawk的一般不是程序员,我不想给普通人挖这样的坑. 当然,从各类SQL数据库中读入数据也是可…
并行化 Hawk支持单机并行化,也就是使用多线程获取数据.它可以控制目前所有任务的数量,为了不给网站造成过大的压力,仅当任务池中的任务数量小于一定值后,才会插入新的任务. 你可以在数据清洗的 执行面板中,选择串行和并行模式: 在调试模式下,所有获取都是串行的.而执行模式下,执行器才会执行.为了更好地理解并行化,强烈建议阅读下面的内容. 最简单的并行化 我们以抓取某个网站的100个页面为例,第一个模块生成区间数,可以生成1-100的页面,自然地,就可以创建100个任务,分别抓取了. Hawk在默认…
执行器是负责将Hawk的结果传送到外部环境的工具.你可以写入数据表,数据库,甚至执行某个特定的动作,或是生成文件等等. 在调试模式下,执行器都是不工作的.这是为了避免产生副作用.否则,每刷新一遍数据,就会向数据库中写入,这显然是不可接受的. 写入数据库 不需要列名,选择所需的数据库连接器,填写表名,设置工作模式即可. 写入数据表 不需要列名,填写要插入的数据表的名称即可. 保存超链接文件 拖入的列为文件的超链接地址 保存位置:可以使用方括号表达式,将某一列的内容传递过来 这特别适合抓取网页中的图…