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 · 7282 次点击
    这是一个创建于 2536 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近发现关于爬虫的教程和实战如雨后春笋一样疯狂涌现。但据我了解,首先爬虫这个技术是几年前甚至更早以前就已经出现了,而且爬虫本身的技术天花板并没有多高把,但是为何最近开始这么热门? 同时又有一些技术大 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   ·   我们的愿景   ·   实用小工具   ·   2870 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:50 · PVG 21:50 · LAX 06:50 · JFK 09:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.