闲来无事,一直想做些东西,开发了网页采集器在这里分享下 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
foxidea
V2EX    分享创造

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

  •  
  •   foxidea 2014-06-16 00:1:26 +08:00 8971 次点击
    这是一个创建于 4194 天前的主题,其中的信息可能已经有所发展或是发生改变。
    之前开发了 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 /td>
        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     Solana     5705 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 02:27 PVG 10:27 LAX 18:27 JFK 21:27
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86