美文网首页大数据 爬虫Python AI SqlPython小哥哥
本想用Python爬遍知乎,却险些被知乎反杀是什么体验?

本想用Python爬遍知乎,却险些被知乎反杀是什么体验?

作者: 14e61d025165 | 来源:发表于2019-04-17 15:44 被阅读0次

    对于某些人(我)来说,影响工作效率,导致我不能按时下班的,除了领导英明的决策,还有另外一个罪魁祸首——知乎

    作为高知分子的集中地,知乎里面的人个个都是人才,说话又好听。然而知乎作为一个“时间杀手”,看看这个回答,逛逛那个live,不知不觉一整天的时间就过去了,而自己的工作却没有一点进展。

    直到某一天我加班到我想,如果有一种工具能过滤掉那些过分诱人的消息,只留下我想要的东西,那我不就能摆脱知乎这个时间杀手了?

    而爬虫似乎可以实现我的“天才构想。”

    <tt-image data-tteditor-tag="tteditorTag" contenteditable="false" class="syl1555487057814 ql-align-center" data-render-status="finished" data-syl-blot="image" style="box-sizing: border-box; cursor: text; text-align: left; color: rgb(34, 34, 34); font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", "Helvetica Neue", Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: block;"> image

    <input class="pgc-img-caption-ipt" placeholder="图片描述(最多50字)" value="" style="box-sizing: border-box; outline: 0px; color: rgb(102, 102, 102); position: absolute; left: 187.5px; transform: translateX(-50%); padding: 6px 7px; max-width: 100%; width: 375px; text-align: center; cursor: text; font-size: 12px; line-height: 1.5; background-color: rgb(255, 255, 255); background-image: none; border: 0px solid rgb(217, 217, 217); border-radius: 4px; transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;"></tt-image>

    欢迎加入新手技术交流基地:1004391443 群里有大牛解答,有资源,有源码,学不学的会就看你了!

    说到爬虫就不得不提起Python,毕竟用Python写个爬虫是最常规的操作。于是我打开电脑,调用request库,照着网上的教程一通操作。结果如下:

    <tt-image data-tteditor-tag="tteditorTag" contenteditable="false" class="syl1555487057820 ql-align-center" data-render-status="finished" data-syl-blot="image" style="box-sizing: border-box; cursor: text; text-align: left; color: rgb(34, 34, 34); font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", "Helvetica Neue", Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: block;"> image

    <input class="pgc-img-caption-ipt" placeholder="图片描述(最多50字)" value="" style="box-sizing: border-box; outline: 0px; color: rgb(102, 102, 102); position: absolute; left: 187.5px; transform: translateX(-50%); padding: 6px 7px; max-width: 100%; width: 375px; text-align: center; cursor: text; font-size: 12px; line-height: 1.5; background-color: rgb(255, 255, 255); background-image: none; border: 0px solid rgb(217, 217, 217); border-radius: 4px; transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;"></tt-image>

    在知乎强大的反爬机制下,我不出意外的失败了。

    看到中间那个“400”了吗?它其实是一个大写加粗的“滚”。

    看来我这半路出家的野路子是搞不定了,只好求助同在熬夜“加班”(追剧)的技术大神。

    大神听罢我的需求微微一笑说:“简单,你只需要解析需要信息的位置,然后再嵌套一个爬问题的循环,并且还需搞个写入文件的函数,此外,为了效果能够酷炫一点,最好再加入交互体验过程,对了!点赞的筛选也不能忘记,还有就是要考虑一下模糊搜索。”

    OK,听起来一点也不复杂。

    <tt-image data-tteditor-tag="tteditorTag" contenteditable="false" class="syl1555487057824 ql-align-center" data-render-status="finished" data-syl-blot="image" style="box-sizing: border-box; cursor: text; text-align: left; color: rgb(34, 34, 34); font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", "Helvetica Neue", Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: block;"> image

    <input class="pgc-img-caption-ipt" placeholder="图片描述(最多50字)" value="" style="box-sizing: border-box; outline: 0px; color: rgb(102, 102, 102); position: absolute; left: 187.5px; transform: translateX(-50%); padding: 6px 7px; max-width: 100%; width: 375px; text-align: center; cursor: text; font-size: 12px; line-height: 1.5; background-color: rgb(255, 255, 255); background-image: none; border: 0px solid rgb(217, 217, 217); border-radius: 4px; transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;"></tt-image>

    后来在大神的指导手把手教学下,仅仅半个小时我就成功搞定爬虫。

    等等,我居然只花了半个小时就学会了爬虫?我岂不是……天才。

    正当我为发现自己智商新高地而欣喜的时候。

    大神露出邪魅一笑说:“不是你聪明,而是因为Python:

    有接近英语的简单语法;

    有众多的第三方库;

    解释执行,不需要编译;

    跨平台,方便移植;

    开发环境简单,能打字就能写代码;

    ......

    两个词总结起来就是:简单、方便。

    而且除了爬虫,Python还能干很多意想不到的工作。

    比如:如果你想画画,可以用Python模仿世界名画。

    <tt-image data-tteditor-tag="tteditorTag" contenteditable="false" class="syl1555487057827" data-render-status="finished" data-syl-blot="image" style="box-sizing: border-box; cursor: text; color: rgb(34, 34, 34); font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", "Helvetica Neue", Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: block;"> image

    <input class="pgc-img-caption-ipt" placeholder="图片描述(最多50字)" value="" style="box-sizing: border-box; outline: 0px; color: rgb(102, 102, 102); position: absolute; left: 187.5px; transform: translateX(-50%); padding: 6px 7px; max-width: 100%; width: 375px; text-align: center; cursor: text; font-size: 12px; line-height: 1.5; background-color: rgb(255, 255, 255); background-image: none; border: 0px solid rgb(217, 217, 217); border-radius: 4px; transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;"></tt-image>

    这幅画是用Python画的你敢信吗?

    如果你懒得处理复杂的表格,用Python写几行代码,文档、表格就能全自动处理。

    如果想玩游戏,Python大型游戏虽不擅长,但一个简单的俄罗斯方块还是不再话下的。

    <tt-image data-tteditor-tag="tteditorTag" contenteditable="false" class="syl1555487057829" data-render-status="finished" data-syl-blot="image" style="box-sizing: border-box; cursor: text; color: rgb(34, 34, 34); font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", "Helvetica Neue", Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: block;"> image

    <input class="pgc-img-caption-ipt" placeholder="图片描述(最多50字)" value="" style="box-sizing: border-box; outline: 0px; color: rgb(102, 102, 102); position: absolute; left: 187.5px; transform: translateX(-50%); padding: 6px 7px; max-width: 100%; width: 375px; text-align: center; cursor: text; font-size: 12px; line-height: 1.5; background-color: rgb(255, 255, 255); background-image: none; border: 0px solid rgb(217, 217, 217); border-radius: 4px; transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;"></tt-image>

    基本上可以不负责任地认为,Python 可以做任何事情。无论是从入门级选手到专业级选手都在做的爬虫,还是Web 程序开发、桌面程序开发还是科学计算、图像处理,Python都可以胜任。”

    Python不但能实现你的任何想法,其发展前景也是不可限量。

    人工智能头号种子谷歌将Python作为官方语言;老外们常用的应用Youtube、Instagram、Pinterest、Reddit等知名应用都是基于Python构建;国内的豆瓣、知乎、果壳、饿了么、搜狐等也是Python应用的典型。

    运维、服务器开发、大数据分析、人工智能等领域都需要Python。学好Python,可以从事Python Web工程师、Python数据分析、人工智能专家等岗位。

    根据相关统计,月入10K以上Python从业者占总数的比例达到了夸张的80%也就是说也许别人奋斗多年才能达到的月入过万,可能只是Python的起点。

    <tt-image data-tteditor-tag="tteditorTag" contenteditable="false" class="syl1555487057834" data-render-status="finished" data-syl-blot="image" style="box-sizing: border-box; cursor: text; color: rgb(34, 34, 34); font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", "Helvetica Neue", Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: block;"> image

    <input class="pgc-img-caption-ipt" placeholder="图片描述(最多50字)" value="" style="box-sizing: border-box; outline: 0px; color: rgb(102, 102, 102); position: absolute; left: 187.5px; transform: translateX(-50%); padding: 6px 7px; max-width: 100%; width: 375px; text-align: center; cursor: text; font-size: 12px; line-height: 1.5; background-color: rgb(255, 255, 255); background-image: none; border: 0px solid rgb(217, 217, 217); border-radius: 4px; transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;"></tt-image>

    数据来源:职友集

    而在去年IEEE发布的顶级编程语言交互排行榜中,Python更是超过了c语言、Java荣登榜首。

    <tt-image data-tteditor-tag="tteditorTag" contenteditable="false" class="syl1555487057838 ql-align-center" data-render-status="finished" data-syl-blot="image" style="box-sizing: border-box; cursor: text; text-align: left; color: rgb(34, 34, 34); font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", "Helvetica Neue", Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: block;"> image

    <input class="pgc-img-caption-ipt" placeholder="图片描述(最多50字)" value="" style="box-sizing: border-box; outline: 0px; color: rgb(102, 102, 102); position: absolute; left: 187.5px; transform: translateX(-50%); padding: 6px 7px; max-width: 100%; width: 375px; text-align: center; cursor: text; font-size: 12px; line-height: 1.5; background-color: rgb(255, 255, 255); background-image: none; border: 0px solid rgb(217, 217, 217); border-radius: 4px; transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;"></tt-image>

    Python的火爆或许已经让你跃跃欲试,但在学习之前你首先要有一双“火眼金睛”来辨别哪些是真正的Python好课。

    现在市面上有很多Python课程,等到你兴冲冲地报完名后才发现老师只会照本宣科,有些老师的水平甚至还比不上自己。

    相关文章

      网友评论

        本文标题:本想用Python爬遍知乎,却险些被知乎反杀是什么体验?

        本文链接:https://www.haomeiwen.com/subject/mxynwqtx.html