闲来无事,一直想做些东西,开发了网页采集器在这里分享下

2014-06-16 00:17:26 +08:00
 foxidea
之前开发了 www.pan1000.com 现在正在改进中

资源是我最大的问题,所以开发了通用采集器

自己用着还算方便,现在先出一个版本

asp.net版:(.net 4.5) 需要IIS 运行环境等

https://github.com/me15000/WebSpider.git


winForm 版:(.net 4.5) exe 程序,依赖.net 4.0 以上

https://github.com/me15000/WebSpiderWin.git


在这里给一个 demo 地址 asp.net版

http://demo.spider.pan1000.com/.m/regs.aspx
8204 次点击
所在节点    分享创造
39 条回复
em70
2014-06-16 00:21:15 +08:00
.net写爬虫有啥优势?python几行代码就能搞定的事情,.net要写一堆代码,还不能在linux运行
foxidea
2014-06-16 00:42:41 +08:00
@em70
语言工具而已
oloopy
2014-06-16 00:43:44 +08:00
看到评论中有些奇怪的混进来了。
foxidea
2014-06-16 01:02:16 +08:00
在我看来windows 开发环境 还是很好用
我个人比较偏爱.net c#
python 等语音在我看来 还没javascript 语言好看 易用

最近也看了swift 语言
语法上和c#很像,又有javascript 的灵活性,我很喜欢,如果未来苹果会有服务器端开发环境,并支持所有平台 我会好好学习下

觉得比c# 基本上可以用于我目前涉及到的所有开发了,所以c#是我主要使用的语言

mono 可以让让.net 程序在 linux 下运行 可能很多人不知道

我真心觉得用什么语言不重要,
要专注于开发产品本身,
很多人认不清,去争论哪个语言好 ,我觉得没什么意义 浪费时间
就和死读书没区别
XadillaX
2014-06-16 01:07:41 +08:00
@foxidea 虽然个人不是很喜欢C#,但是这段话必须赞。
kqz901002
2014-06-16 01:09:16 +08:00
@foxidea 我是python程序员 我觉得C#很棒
txlty
2014-06-16 01:58:56 +08:00
c#写的采集器。瞬间想起了 火车头
txlty
2014-06-16 02:02:17 +08:00
@em70
我觉得爬虫和采集器还是有区别的。
站长圈名气最大的“火车头”( http://www.locoy.com/ ),你觉得用python写需要几行代码?
zungmou
2014-06-16 08:23:35 +08:00
@foxidea 你的 C# 开发环境是付费购买的吗? 不排斥收费软件,但尽量不使用盗版。跨平台很重要,Python, PHP 基本上能无缝迁移,C# 要在 MONO 下运行话,效率会不会打折?兼容性会不会出问题?
dong3580
2014-06-16 09:17:51 +08:00
@txlty
C#写采集器,写得多最后发现越来越简单了,这是个人的体验。
至于代码实现,的确会比py用的代码量大,但是体验的效果非常棒,另外C#的多线程,异步功能像是专门为采集做的,
gouflv
2014-06-16 09:23:37 +08:00
跟.net谈付费 呵呵
foxidea
2014-06-16 09:23:44 +08:00
@zungmou

很明确的告诉你,我用的盗版 从系统到IDE 都是盗版,原本笔记本买来的时候有正版授权在笔记本上,被磨得看不清楚了,懒得计较这些细枝末节

我不知道服务器提供商给的系统是否为正版


关于性能我就想说下

单纯的去对比 一个字符串,一个数据结构,像List<int> Array 字典 这些东西

我也觉得意义不大

况且具体对比我也没做过,不知道,或许mono 下性能更优异

就拿我去开发采集器来说,它性能不会差到我运行不起来我的采集器

采集器并不需要在服务器上运行,我开发之初就是想在windows 下运行

最重要的是,它的性能不取决于任何平台,而取决于你自己的算法

Python PHP 我一个都看不上 对我来说不好用,我就觉得 .net 好用方便


不过最令人痛心的是 微软的.net到目前为止并没有真正的跨平台

虽然网上有很多微软开源的正面消息,我总觉得结果没那么好

跨平台不跨平台,看自己需要不需要,我自己的情况就不需要,win7下运行这些程序即可
kuber
2014-06-16 09:46:08 +08:00
微软有免费的C# 开发工具, Visual Studio Express 很好用
XadillaX
2014-06-16 10:40:17 +08:00
如果你是高校学生,貌似可以申请spark的免费ide跟系统。

我现在用的ultimate版的vs就是免费的。
XadillaX
2014-06-16 10:40:47 +08:00
ps:包括win8也有。

win7就没了。
v1ex
2014-06-16 11:58:09 +08:00
@em70 无意冒犯,但是也忍不住来啰嗦两句;语言没有什么麻烦不麻烦,也别老拿 linux 当门槛,也不要说 pthone 几行代码就能搞掂就小看其他的语言。.net 和 as3 air 都能写爬虫,比 python 有一个特别的优点就是,能用可视界面模拟登录然后去爬目标页面,这一点估计 python 能做到也很难。pythone 能做到登录淘宝账号去爬订单吗?当然,这只是举一个例子,别拿淘宝来说事。任何语言都有自己的优点缺点。
em70
2014-06-16 13:07:38 +08:00
@v1ex
@foxidea
@txlty

先道个歉,昨天看见要求安装一堆环境,也没仔细思考,感觉用.net这么重的平台来做一个需求变化很大的产品,可能会有不妥,便随口的一句吐槽,采集技术其实很成熟了,没什么可说的,只是想讨论一下平台技术方案选择,本无意挑起语言之争的,我也从来没觉得C#不好的意思,没想到把本帖拖成语言讨论主题了,非常抱歉。

回归技术方案话题,对于设计采集器,我觉得要看是给程序员用,还是给不懂技术的站长用。

如果给程序员用的话,扩展性很重要,跨平台是应该有的,需要提供数据导入导出接口,命令行界面就挺好,简单高效,这种需求脚本语言优势很大,当然不一定是python,还可以是ruby,swift,lua,perl什么的。

如果是给不懂技术的站长用,那么部署就要简单,纯WIN32平台是首选。.net和java企业应用是一把好手,说实话我觉得不太适合做面向个人用户的产品。就像迅雷第一版是JAVA做的,被周鸿祎给批了一顿,第二版就改WIN32了。还有一个方向是云计算,@foxidea 也做了网页版,这个用JAVA,.net就很适合,以后也不妨往云方向发展。

总的来说@foxidea 能做出来这样成熟度的产品,挺不容易的,付出了很多心血,如果不是纯为了自娱自乐的话,在这个基础上改成一个商业产品也完全有可能的。但初期方向就应该思考好,面向什么用户群,就需要走什么技术路线,也没必要考虑太多什么个人喜好,选择合适的方案才最好。
wuxqing
2014-06-16 14:04:13 +08:00
@foxidea
你先让你的.net 4.5代码在linux跑通了,再来说"mono 可以让让.net 程序在 linux 下运行 可能很多人不知道"
foxidea
2014-06-16 14:10:19 +08:00
@wuxqing

神经病
iannil
2014-06-16 14:20:11 +08:00
@dong3580 完全赞同,c#写爬虫写的越多越方便轻松,多线程简直了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/117690

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX