大家如何看待爬虫和爬虫教程近日被推到风口浪尖这种现象? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Miksztowi
V2EX    Python

大家如何看待爬虫和爬虫教程近日被推到风口浪尖这种现象?

  •  1
     
  •   Miksztowi
    Miksztowi 2017-04-18 22:54:50 +08:00 7877 次点击
    这是一个创建于 3101 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近发现关于爬虫的教程和实战如雨后春笋一样疯狂涌现。但据我了解,首先爬虫这个技术是几年前甚至更早以前就已经出现了,而且爬虫本身的技术天花板并没有多高把,但是为何最近开始这么热门? 同时又有一些技术大 V 的回答和专栏中对爬虫的评价并不友好,是厌恶爬虫还是厌恶这种技术被捧到风口浪尖? 题主也有过一些简单操作爬虫的经验,看到爬虫在风口浪尖上,想到这样的行为会不会使互联网公司开始加大反爬虫的力度,有没有可能做到彻底的禁止爬虫行为呢? 希望大家可以不吝赐教,非常感谢。

    43 条回复    2017-04-21 10:05:56 +08:00
    justtery
        1
    justtery  
       2017-04-18 23:01:10 +08:00 via Android
    没事,你放心,教程用什么写的你还不知道麽?最初的时候还学习爬虫的时候看教程就是 urlib2 然后我就找到了 requests 库,教程用的 bs4 我就发现了 pyquery 啊哈哈,教程中是 python2.7 的版本,我用的 python3
    Miksztowi
        2
    Miksztowi  
    OP
       2017-04-18 23:09:57 +08:00
    @justtery pyquery 好用吗?我第一次听到这个库,哥们有什么使用心得吗?
    IanPeverell
        3
    IanPeverell  
       2017-04-18 23:12:39 +08:00   1
    爬虫技术天花板其实很高的,只是你没看到而已,大多数教程都是入门级别的,所以在看了这么多入门教程之后我也觉得烦闷了,一点新意都没有,千篇一律将框架使用方法,将怎么一点一点由 requests 手到是用 scrapy 或者 pyspider 的,然而对于高级一点的比如 scrapy 的 downloadmiddleware 等内容则是只字未提,作者自己可能甚至连 scrapy 或者 pyspider 的构架都不甚了解就写一个教程去了,这种教程再多也是没有什么意义的,都是一样的

    然而对于反爬虫和反反爬虫肯定是不断迭代的,彻底打败对方也是很难的
    Zzzzzzzzz
        4
    Zzzzzzzzz  
       2017-04-18 23:23:25 +08:00
    没有风口浪尖, 一直这样, 技术领域叫爬虫, 关于 nutch 之类的书不停出了十几年, 豆瓣的人几年前就吐嘈过他们网站是每个练爬虫的必爬的. 非技术领域叫采集, 十四五年前开始就是动易、 dede 、 phpcms 这些文章系统的标准功能, 还有 NC 、火车头之类的专用程序, 懂个 html 学个基本正则使用就能上手

    python 圈子尤其火是因为从协程库到抓取库到 parser 库一个都不缺, 而且还有个行业老大哥叫 google
    gouchaoer
        5
    gouchaoer  
       2017-04-18 23:24:39 +08:00 via Android
    @IanPeverell 爬虫天花板真的不高,我是高级爬虫开发工程师,做着做着就发现基本上数据都能搞到了,完善了一些基础组件之后发现没啥可做的了。。。最后干脆研究 chromium 内核玩了
    gouchaoer
        6
    gouchaoer  
       2017-04-18 23:29:57 +08:00 via Android
    @Zzzzzzzzz google 的爬虫又不是 py 写的。。。 py 的抓取框架一大堆,但某些基础组建质量真不咋样, py 火不是因为它好而是因为它就是火,就跟 laravel 火不是因为它优雅而是因为它就是火。。。。
    Miksztowi
        7
    Miksztowi  
    OP
       2017-04-18 23:54:43 +08:00
    @gouchaoer 都能搞到吗?电商这种反爬虫比较厉害的规则怎么制定呢?能不能分享下你的经验或者给个思路?非常感谢。
    Miksztowi
        8
    Miksztowi  
    OP
       2017-04-18 23:55:33 +08:00
    @gouchaoer 如何结构化的整站获取电商或者博客这种?我觉得反爬虫是真的头很痛啊 QAQ
    laike9m
        9
    laike9m  
       2017-04-18 23:57:59 +08:00
    @gouchaoer Google 最开始的爬虫是 py 写的

    知乎 Python 区的风气其实就是被那么几个账号带坏了,人的问题是主要的,题材的问题是次要的。
    Miksztowi
        10
    Miksztowi  
    OP
       2017-04-18 23:58:59 +08:00
    @laike9m 这里的带坏是什么个意思?大量传播入门级教程还是说过大的鼓吹爬虫?
    Miksztowi
        11
    Miksztowi  
    OP
       2017-04-19 00:00:12 +08:00
    @IanPeverell 是的,但是教程本身也是由作者花了心血的,可能对很多人提供不了帮助,但是为何会去抵触呢?
    actto
        12
    actto  
       2017-04-19 00:01:34 +08:00 via Android
    因为大数据啊!不收集数据,怎么分析数据。
    另外就是信息现在生产的地方太多,各种门户,各个微信公众号,各个微博,等等都是有价值信息的生产者,第一时间收集,并做价值分析,高于一定的值,则交由人工处理。。
    laike9m
        13
    laike9m  
       2017-04-19 00:02:19 +08:00
    @Miksztowi 靠爬虫博取关注然后把人拉进微信群开班收费
    laike9m
        14
    laike9m  
       2017-04-19 00:03:26 +08:00
    @Miksztowi 那些文章,代码缩进都没有的,一看就是不知道从哪抄的文章,自己都没看过一遍,这种都不批判的话,那也太客气了。
    bdbai
        15
    bdbai  
       2017-04-19 00:29:47 +08:00 via Android
    为什么楼上全都钦定 py 呢?其实 Nodejs 也不错的,原生异步,有类似 jQuery 那样的 DOM 处理库,顶多自己组合一下就有了。
    bombless
        16
    bombless  
       2017-04-19 00:52:59 +08:00 via Android
    首先这是 py 节点其次本来 v2 主要就是粉 py ,毕竟网站就是 py 写的, 233
    binux
        17
    binux  
       2017-04-19 02:33:00 +08:00   5
    爬虫工程师这个职位的天花板可以说并不高,因为到上面之后,有的人变成了算法工程师,有的人变成浏览器引擎工程师等等。
    但是就国内对爬虫工程师的需求来说, 99%的都是只限于对特定网站的配模板和简单的数据清洗。这些工作都是非常初级的,他们也是这些教程面向的目标。

    真到了 top 1%,其实全国并没有多少人,而且大部分都不是「爬虫工程师」出身,他们虽然对于页面渲染,甚至 HTTP 协议不甚熟悉,但是算法,工程能力会更好。至于用什么编程语言根本就不是问题,甚至解析的对象也不限于 HTML ,这不过是很平常的又一个工程问题罢了。
    crab
        18
    crab  
       2017-04-19 07:59:31 +08:00
    爬虫是 Python 的入门吧。像 ASP PHP 写留言板。
    klxq15
        19
    klxq15  
       2017-04-19 07:59:53 +08:00 via Android
    爬虫并不是最重要的一环吧,只能说是最基础的一环,分析数据的方法才是重要的
    justtery
        20
    justtery  
       2017-04-19 08:04:57 +08:00 via Android
    @Miksztowi 不知道你 jQuery 用的怎么样,如果你熟悉 jQuery 的选择器的话,那就是妥妥的好用。
    renyijiu
        21
    renyijiu  
       2017-04-19 08:39:37 +08:00
    个人觉得教程是一件好事,对于我这种新手是一个吸引和引导,
    但是这个好多都是什么爬妹子图教程就很尴尬, 23333
    est
        22
    est  
       2017-04-19 09:13:23 +08:00
    所以现在市面上有 websockets/SSE/http2 的爬虫了吗?
    murmur
        23
    murmur  
       2017-04-19 09:22:24 +08:00
    @Miksztowi 不让用 headless 用真的浏览器+selenium 能搞定不。。
    yanzixuan
        24
    yanzixuan  
       2017-04-19 09:24:35 +08:00
    @gouchaoer 请教一下,遇到变态验证码你们是用打码平台还是自己搞智能识别。
    如果自己搞智能识别,爬虫还要涵盖机器学习和人工神经网络了。
    yohole
        25
    yohole  
       2017-04-19 09:25:31 +08:00
    爬虫是一个技术工具,关键是爬虫背后的业务是否畸形,包括盗版、版权、知识、道德等一系列问题
    yanzixuan
        26
    yanzixuan  
       2017-04-19 09:26:28 +08:00
    @murmur 效率不行。你爬少量数据还行,要是要求高并发高速爬就堪忧了。
    dsg001
        27
    dsg001  
       2017-04-19 09:41:39 +08:00
    爬虫门槛低,又能扯上大数据,有有噱头,各种自媒体都可以快速上手忽悠
    chenwen
        28
    chenwen  
       2017-04-19 09:45:40 +08:00
    大部分只是个入门,真的没啥
    gamecreating
        29
    gamecreating  
       2017-04-19 10:01:40 +08:00
    python 唯一优势 是它开发快......遁
    shiina
        30
    shiina  
       2017-04-19 10:14:21 +08:00
    以前有人说, 他们写的根本不是爬虫, 顶多就是个网页下载器
    usenix
        31
    usenix  
       2017-04-19 10:22:56 +08:00
    @binux 说的在理,其实我也做过配模版的活(逃
    linzhi
        32
    linzhi  
       2017-04-19 10:49:45 +08:00
    感觉每年都有很多教程 这块适合学习 最近也在写着玩
    nomemo
        33
    nomemo  
       2017-04-19 11:27:33 +08:00
    爬虫后面的数据处理与应用更有意思..
    brucedone
        34
    brucedone  
       2017-04-19 11:57:57 +08:00   2
    ===足够的吸引力===
    拿别人的代码跑一下,就可以拿到种子,妹子图,或者生成标准的 excel ,你说对于一个从来没有接触过编程语言的人,够不够吸引力呢?我想大多数刚接触语言的人应该都不会拒绝吧,特别是非科班出身的人

    ===数据时代的兴起===
    目前的噱头,都天天喊着大数据,有些公司或者企业,本身不生产数据,那怎么办呢?买数据,或者爬数据,这点对于“爬虫”这个行业的兴起是密不可分的

    ===入门容易深入难===
    懂一般的 http 请求,了解 xpath ,正则,玩一两个框架,就可以定制一些数据了,那真这么简单吗?当然不是,你玩爬虫你得知道别人反爬虫的常用技巧吧, js 渲染, api 加密,封 IP ,出验证码,还有你的数据层面的存储,清洗,爬虫的整体执行效率,每一个细节都可以延伸的技术细节,所以你入门是容易的,但是想要精进,是需要花时间的

    ===乱象===
    现在网上对于爬虫的需求是饱和或者上升的,但是舆论风气很不好,贴一两段代码,然后取个什么标题,他们从来不会跟你讲 html dom 元素, Javascript ,http 请求这些基本的理论知识,更别谈数据库,语言的基础知识了,只要你会用,这点我看来不怎么好
    Tunar
        35
    Tunar  
       2017-04-19 12:02:26 +08:00 via Android
    搞得现在小学生那样的都能写个爬虫然后给自己贴上一个 py 工程师的标签。。这东西还得结合数据挖掘神马的才能上一个台阶,和自我感觉良好的小学生拉开距离
    oyosc
        36
    oyosc  
       2017-04-19 12:29:36 +08:00
    不好意思说话了,前不久我领导就让我去爬豆瓣所有的电影跟微博的数据,用来进行机器学习...
    exoticknight
        37
    exoticknight  
       2017-04-19 12:35:48 +08:00
    三四月爬虫,哈哈
    不过又是圈粉圈钱的又一个手段罢了
    Miksztowi
        38
    Miksztowi  
    OP
       2017-04-19 12:53:10 +08:00
    @actto 大数据分析所用的数据爬虫爬来的可以用吗?我觉得爬虫爬到的有价值的数据很少啊
    Miksztowi
        39
    Miksztowi  
    OP
       2017-04-19 12:53:39 +08:00
    @oyosc 爬虫爬到的数据可以机器学习吗?
    duan602728596
        40
    duan602728596  
       2017-04-19 13:19:37 +08:00 via iPhone
    反正最近写了个工具,主要是爬某团体的网站,获取地址,下载视频流.......
    oyosc
        41
    oyosc  
       2017-04-19 14:40:16 +08:00
    @Miksztowi 可以的呀,不过你要进行数据洗涤啥的,原始数据不行
    brucedone
        42
    brucedone  
       2017-04-20 11:20:57 +08:00
    @Miksztowi 当然可以啦,不过呢,中间一般在经历 label 的过程。
    figofuture
        43
    figofuture  
       2017-04-21 10:05:56 +08:00
    @binux 多谢大神的 pyspider ,
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4986 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 01:08 PVG 09:08 LAX 18:08 JFK 21:08
    Do have faith in what you're doing.
    ubao 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