V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
foxidea
V2EX  ›  分享创造

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

  •  
  •   foxidea · 2014-06-16 00:17:26 +08:00 · 8351 次点击
    这是一个创建于 3814 天前的主题,其中的信息可能已经有所发展或是发生改变。
    之前开发了 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
    39 条回复    2017-12-04 11:04:40 +08:00
    em70
        1
    em70  
       2014-06-16 00:21:15 +08:00
    .net写爬虫有啥优势?python几行代码就能搞定的事情,.net要写一堆代码,还不能在linux运行
    foxidea
        2
    foxidea  
    OP
       2014-06-16 00:42:41 +08:00   ❤️ 1
    @em70
    语言工具而已
    oloopy
        3
    oloopy  
       2014-06-16 00:43:44 +08:00   ❤️ 1
    看到评论中有些奇怪的混进来了。
    foxidea
        4
    foxidea  
    OP
       2014-06-16 01:02:16 +08:00 via iPhone
    在我看来windows 开发环境 还是很好用
    我个人比较偏爱.net c#
    python 等语音在我看来 还没javascript 语言好看 易用

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

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

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

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

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

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


    关于性能我就想说下

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

    我也觉得意义不大

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

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

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

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

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


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

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

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

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

    win7就没了。
    v1ex
        16
    v1ex  
       2014-06-16 11:58:09 +08:00
    @em70 无意冒犯,但是也忍不住来啰嗦两句;语言没有什么麻烦不麻烦,也别老拿 linux 当门槛,也不要说 pthone 几行代码就能搞掂就小看其他的语言。.net 和 as3 air 都能写爬虫,比 python 有一个特别的优点就是,能用可视界面模拟登录然后去爬目标页面,这一点估计 python 能做到也很难。pythone 能做到登录淘宝账号去爬订单吗?当然,这只是举一个例子,别拿淘宝来说事。任何语言都有自己的优点缺点。
    em70
        17
    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
        18
    wuxqing  
       2014-06-16 14:04:13 +08:00
    @foxidea
    你先让你的.net 4.5代码在linux跑通了,再来说"mono 可以让让.net 程序在 linux 下运行 可能很多人不知道"
    foxidea
        19
    foxidea  
    OP
       2014-06-16 14:10:19 +08:00
    @wuxqing

    神经病
    iannil
        20
    iannil  
       2014-06-16 14:20:11 +08:00
    @dong3580 完全赞同,c#写爬虫写的越多越方便轻松,多线程简直了。
    wuxqing
        21
    wuxqing  
       2014-06-16 19:46:56 +08:00
    @foxidea
    @Livid
    骂人有意思吗?
    我只是想说mono无法很好的兼容.net,拿mono说.net可以跨平台是有问题的
    foxidea
        22
    foxidea  
    OP
       2014-06-16 21:13:12 +08:00
    @wuxqing

    听你那语气就想骂你
    wuxqing
        23
    wuxqing  
       2014-06-16 22:02:36 +08:00
    @foxidea 没证实的事情乱说,说明你技术素养低。张口就骂人说明你道德素养低。
    tamamaxox
        24
    tamamaxox  
       2014-06-17 10:05:28 +08:00
    来学习如何歪楼
    hedaode
        25
    hedaode  
       2014-06-17 10:30:17 +08:00
    支持楼主。不管用什么语言,能做出一个产品并愿意分享出来,都是值得肯定的。
    foxidea
        26
    foxidea  
    OP
       2014-06-17 11:35:03 +08:00
    @wuxqing

    你不就想找个理由奚落我么?我对你这种人何必解释?

    我了解你这种人居心何在,小人君子 人人都看得明白

    骂的就是你这种小人
    foxidea
        27
    foxidea  
    OP
       2014-06-17 11:42:55 +08:00
    @wuxqing

    其实我只想告诉你,我并没有想怎么样,显得自己也没胸襟

    你去看看你自己的评论,如果有人这样在现实中给你说话,你会叼他?
    wuxqing
        28
    wuxqing  
       2014-06-17 20:08:57 +08:00
    @foxidea
    我的原话:
    你先让你的.net 4.5代码在linux跑通了,再来说"mono 可以让让.net 程序在 linux 下运行 可能很多人不知道"

    我没看出哪里是奚落你,更不知体现了啥居心。
    现实中同事之间交流也经常说:你试过了?试过了再来说.....。这是做技术应该有的严谨态度

    你觉得要怎么说,才不会被你骂神经病?
    bcpo8
        29
    bcpo8  
       2014-06-18 01:31:45 +08:00
    nice one!
    foxidea
        30
    foxidea  
    OP
       2014-06-20 09:09:48 +08:00
    @wuxqing

    13 年的时候,实验过 linux 下运行 asp.net
    这里我转载了下
    http://my.oschina.net/foxidea/blog/135103


    你自己没看出来,那你继续以你的方式去问话,等被别人骂醒
    wuxqing
        31
    wuxqing  
       2014-06-20 19:45:11 +08:00
    这篇博客不能说明啥问题,mono我5、6年前就在用了(1.0、2.x都跟过好一阵子),玩玩或许可以,但是转大点的程序问题太多,更别说用于生产环境了。
    你可以试试通过mono将mapwindow4跑到linux下试试

    不要再@我了,我不想继续这个话题,你缺少谦虚的态度。
    foxidea
        32
    foxidea  
    OP
       2014-06-23 10:55:30 +08:00
    @wuxqing

    你不让我@你,干嘛在这里又说这些

    你在5-6年前用过,那也只代表过去,你就是用过100年,那又说明得了什么

    我承认我并没有深入使用过 mono,

    但是我配置过mono 在linux 下运行 asp.net

    当时配置了成型的网站在 linux 下运行,没出什么问题,就是按照那篇博客配置的


    你问我 “你先让你的.net 4.5代码在linux跑通了,再来说"mono 可以让让.net 程序在 linux 下运行 可能很多人不知道"”

    你目的何在,你就是想说明你对 mono 有研究?
    我不配有发言权?
    是你不谦虚,还是我?

    你现在说mono 你在5-6年前用过,怎么怎么怎么乱七八糟,又是生成环境什么东西

    我就是一个采集器而已,什么环境不可以??我干嘛那么认真把它搞成坚不可摧

    我觉得一个项目,尽可能考虑实用性和是否解决问题,而语言平台工具都是次要的

    能达到我的目的就行

    你讨厌mono 也好,鄙视 .net 也罢

    你不应该把自己的情绪发泄到我这里

    顺便告诉你,你说第一句话的时候,我就知道的你后面要说什么了
    wuxqing
        33
    wuxqing  
       2014-06-23 16:15:02 +08:00
    我回复你,是因为你@我了
    我一直都在和你讨论技术问题,你却不停用自己的想法瞎喷、瞎想
    你有这个时间,试试mapwindow4在linux的运行,看看现在的mono是否已经成熟了。期待你用事实来说服我,还随便给开源做贡献了。
    我不讨厌任何技术,也不鄙视.net,只是工具而已。
    不像你,讨论个技术问题,不是骂人就是怀疑别人奚落你
    foxidea
        34
    foxidea  
    OP
       2014-06-23 16:51:44 +08:00
    扯淡
    forbe
        35
    forbe  
       2014-07-01 09:05:29 +08:00 via Android
    用go吧,别争论了。这个spider (meijia0.com)只用了150行代码,编译后可以跨平台,满足了你们所说的代码量和跨平台的需求了。语言之争没结论呀。
    forbe
        36
    forbe  
       2014-07-01 09:08:20 +08:00 via Android
    说句公道话,.net从设计上来说,已经so oooold了,(python也很老,但是从编程体验上来说,它很好,没有老气横秋啦)换换脑子,接受go 或者 swift dart cust 看看把。如何?
    oceantree
        37
    oceantree  
       2016-08-10 14:53:54 +08:00
    这个是我们团队开发的采集,欢迎看看 http://www.shenjianshou.cn/
    oceantree
        38
    oceantree  
       2016-08-10 14:54:21 +08:00
    可以采集各种网站的数据,也可以用这个平台自己写爬虫~
    oness
        39
    oness  
       2017-12-04 11:04:40 +08:00
    我也用 c#开发了一个网页数据采集器,爬山虎采集器 http://www.51pashanhu.com/
    简单易学,通过智能算法+可视化界面,一键抓取数据
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2678 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 03:50 · PVG 11:50 · LAX 19:50 · JFK 22:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.