勤学思培训网GEZYDK
  • 终于理会python爬虫有什么用

    爬虫可以从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。下面是小编为您整理的关于python爬虫有什么用,希望对你有所帮助。


    [图片0]

    python爬虫有什么用

    @冰蓝

    之前在北京买房,谁想房价开始疯长,链家的房价等数据分析只给了一小部分,远远不能满足自己的需求。于是晚上花了几个小时的时间写了个爬虫,爬下了北京所有的小区信息及北京所有小区的所有历史成交记录。

    @陈乐群

    上次发现Android QQ和iOS QQ可以显示网络状态(2G/WiFi)之后,突然想到,这样子好像可以监视某人的出行和作息规律。简单的来说,在家里或者工作的地方,一般是有WiFi的,然后出门了,WiFi就断掉了。如果监测频率足够频繁,那么结合一定的推理,可以大致推测出一个人的行动。如果长期监视,那么可以大致推出一个人的作息时间。

    因为只有Android QQ和iOS QQ有这个功能,所以要得到一个人的网络状态比较麻烦。我的做法是跑 Android 模拟器。然后用按键精灵模拟,并把网络状态截图,用 curl post到服务器上。服务器会把每次发送的时间、截图保存下来。因为是用程序截图的,所以只要网络状态是一样的,那么截图就是一样的,这样服务器就只会保存2~3张图片而已,其余的发现是相同的图片,数据库做个标记就好了。然后人工做OCR,还是注意到只有2~3张图片,所以工作量很少。

    得到数据后,要做各种统计就可以自己搞了……

    @森羴

    在用Python写网页爬虫之前,我只用来写过了一个驾校约车的脚本,让当时的我不惧上万的学车同僚,在约车环节没有输在起跑线上。

    接着那段时间,我女朋友的领导每天下班都会下任务,要收集100条有招聘需求的信息,第二天检查。看到她熬夜百度+复制粘贴到半夜,心疼死了。

    想到了某个牛人说:一切重复性的工作都可以用程序来完成。于是偷偷花了些时间研究了下她经常查的某些同类业务网站的页面数据,培育了这只爬虫。主要技能就是爬这些网站的招聘公司信息及联系方式,保存到Excel中。

    在我将战斗成果----1000多个客户资料的Excel表格发给她的时候,先惊喜,后审问,再感慨!依稀记得那天她发了一条朋友圈,内容是:“有个程序员男朋友,感觉好幸福啊!!”成就感走直线啊,都能让她感到幸福,你说这只爬虫是不是做了很酷很有趣的事情呢?

    @柳易寒

    我用爬虫爬了我爱白菜网、超值分享汇、发现值得买、惠惠购物、今日聚超值、留住你、买手党、没得比、慢慢买、牛杂网、买个便宜货、什么值得买、天上掉馅饼、一分网、折800值得买、值值值等网站的折扣信息。

    这些网站都是提供的一些及时的、性价比较高的商品,很多时候要一个一个网站的看(重度用户),很容易就会错过一些很划算的商品。

    @小白

    大二学生一枚,前段时间中期考试,成绩一直不出来,又不想每次都登录,突然就像用以下所学的东西来干点事情。

    说干就干,花了我将近4个小时完成成绩提醒功能。主要是用Python定时抓取数据(定时用Ubuntu的crontab),分析数据是否变化,然后发送短信。其实大部分时间是花在分析学校模拟登陆那一块了,毕竟要提取各种值,还有url重定向,本来就才学Python,对一些东西也不是很熟悉。

    运行起来之后还是效果还不错,10分钟抓一次,第一时间知道了我的概率论。。。

    @顾旻玮

    在学校的时候做过一个项目,通过爬微博的文字,分析国内各个地区的用户收听虾米的热度和最受欢迎的歌手。当然也没有用什么很复杂的技术,就是写基本的TF-IDF。

    做完的时候觉得自己好有想法啊,能实现这么有意思的东西。后来发现早就有公司做过了。当然别人做的是美国版的。

    于是现在,我就在这家公司工作。

    @晨晨
    朋友交易了一套房子,手机号流落到了各种中介手里,隔几天就有中介电话骚扰,不胜其烦。每接一个电话都加黑名单,但还是有新号码打过来,so⋯⋯问我咋办!

    Android 手机的拦截倒不是问题,但需要房产经纪人的号码数据库,就只能去网上爬了!

    各个房产站的广州站点加上58什么的,一个多小时爬了快两万个号码,去重之后还有一万五千多⋯⋯

    一时兴起,又去爬了深圳、北京和上海,现在都不知道拿这些号码去干嘛了⋯⋯

    PS:貌似活跃房产经纪的数量能反应市场活跃度?

    PS:我觉得我可以把全国城市的都爬下来。

    @孟德超

    非计算机系。所以我做的比起其他人来说要简单的多,但是却解决了一些很实用的问题,也让我认识到各行各业的人都需要学一点编程。

    我一个同学做数学建模,需要57个城市两两之间的距离。他们本来想在百度查,可是57*56/2=1596,也就是说他们光查数据就要百度1596次。刚好我那个时候接触了一点爬虫,就找到一个可以查询距离的网站,大概写了几十行代码,两分钟就解决问题了。

    @余生梦

    说个简单实用的例子吧。昨晚突然发现我在某培训网站的的会员马上就要过期了,于是赶紧写了个爬虫,把没看完的教学视频全下载下来了……

    @ animalize

    用爬虫技术做了个个人信息收集系统,部署在卡片式电脑(如树莓派、Cubieboard)上。

    怎样学习爬虫:

    选择一门编程语言。入门爬虫的前提肯定是需要学习一门编程语言,推荐使用Python 。2021年5月Python已排名第一,列为最受欢迎的语言。很多人将 Python 和爬虫绑在一起,相比 Java , Php , Node 等静态编程语言来说,Python 内部的爬虫库更加丰富,提供了更多访问网页的 API。写一个爬虫不需要几十行,只需要 十几行就能搞定。尤其是现在反爬虫日渐严峻的情况下,如何伪装自己的爬虫尤为重要,例如 UA , cookie , Ip 等等,Python 库对其的封装非常和谐,为此可以减少大部分代码量。

    学习爬虫需要掌握的知识点。http相关知识,浏览器拦截、抓包;python的scrapy 、requests、BeautifulSoap等第三方库的安装、使用,编码知识、bytes 和str类型转换,抓取javascript 动态生成的内容,模拟post、get,header等,cookie处理、登录,代理访问,多线程访问、asyncio 异步,正则表达式、xpath,分布式爬虫开发等。

    学习爬虫的基本方法。 理清楚爬虫所需的知识体系,然后各个击破;推荐先买一本有一定知名度的书便于系统的学习爬虫的知识体系。刚开始学的时候,建议从基础库开始,有一定理解之后,才用框架爬取,因为框架也是用基础搭建的,只不过集成了很多成熟的模块,提高了抓取的效率,完善了功能。多实战练习和总结实战练习,多总结对方网站的搭建技术、网站的反爬机制,该类型网站的解析方法,破解对方网站的反爬技巧等。

    为什么python适合写爬虫

    有更加成熟的一种爬虫脚本语言,而非框架。是通用的爬虫软件ForeSpider,内部自带了一套爬虫脚本语言。

    从一个专业C++程序猿的角度说,网上流传的各种Java爬虫,Python爬虫,Java需要运行于C++开发的虚拟机上,Python只是脚本语言,采集效率和性能如何能与强大的C++相提并论?C++直接控制系统的底层,对内存空间的控制和节省都是其他语言无法竞争的。首先,forespider的开发语言是C++,而且C++几乎没有现成的框架可以用,而火车采集器是用的C#。先从业界水平和良心来说,这个软件可以做到从底层到上层都是他们的技术人员自己写的,而非运用现成的框架结构。


    [图片1]

    其次,因为抓取金融行业的数据,数据量大,动态性强,而采集对象一般反爬虫策略又很严格。所以,专门建立团队开发不现实。请外包人员开发太贵。买现成的软件,要考虑性价比。因为很多数据需要登录,需要验证码,是JS生成的数据,是ajax,是https协议,有加密的key,有层层的验证机制等等,分析市面上所有找得到的爬虫软件,没有找到其他一家可以完全把我们列表上的网站采集下来的软件。forespider功能强大,这是很重要的一点。

    学习爬虫的原因

    学习爬虫是一件很有趣的事。我曾利用爬虫抓过许多感兴趣东西,兴趣是最好的老师,感兴趣的东西学的快、记的牢,学后有成就感。

    @学习爬虫,可以私人订制一个搜索引擎,并且可以对搜索引擎的数据采集工作原理进行更深层次地理解。有的朋友希望能够深层次地了解搜索引擎的爬虫工作原理,或者希望自己能够开发出一款私人搜索引擎,那么此时,学习爬虫是非常有必要的。简单来说,我们学会了爬虫编写之后,就可以利用爬虫自动地采集互联网中的信息,采集回来后进行相应的存储或处理,在需要检索某些信息的时候,只需在采集回来的信息中进行检索,即实现了私人的搜索引擎。当然,信息怎么爬取、怎么存储、怎么进行分词、怎么进行相关性计算等,都是需要我们进行设计的,爬虫技术主要解决信息爬取的问题。

    @学习爬虫可以获取更多的数据源。这些数据源可以按我们的目的进行采集,去掉很多无关数据。在进行大数据分析或者进行数据挖掘的时候,数据源可以从某些提供数据统计的网站获得,也可以从某些文献或内部资料中获得,但是这些获得数据的方式,有时很难满足我们对数据的需求,而手动从互联网中去寻找这些数据,则耗费的精力过大。此时就可以利用爬虫技术,自动地从互联网中获取我们感兴趣的数据内容,并将这些数据内容爬取回来,作为我们的数据源,从而进行更深层次的数据分析,并获得更多有价值的信息。

    @对于很多SEO从业者来说,学习爬虫,可以更深层次地理解搜索引擎爬虫的工作原理,从而可以更好地进行搜索引擎优化。既然是搜索引擎优化,那么就必须要对搜索引擎的工作原理非常清楚,同时也需要掌握搜索引擎爬虫的工作原理,这样在进行搜索引擎优化时,才能知己知彼,百战不殆。

    @学习爬虫更有钱景。爬虫工程师是当前紧缺人才,并且薪资待遇普遍较高,所以,深层次地掌握这门技术,对于就业来说,是非常有利的。有些朋友学习爬虫可能为了就业或者跳槽。从这个角度来说,爬虫工程师方向也是不错的选择之一,因为目前爬虫工程师的需求越来越大,而能够胜任这方面岗位的人员较少,所以属于一个比较紧缺的职业方向,并且随着大数据时代的来临,爬虫技术的应用将越来越广泛,在未来会拥有很好的发展空间。

    除了以上为大家总结的4种常见的学习爬虫的原因外,可能你还有一些其他学习爬虫的原因,总之,不管是什么原因,理清自己学习的目的,就可以更好地去研究一门知识技术,并坚持下来。