猫史档案馆


【科普教程系列】第一期——什么是网络爬虫?

用户:_Rise__Rise_查看:2 回复:7 评论:2 创建时间:2020-06-14T15:23:24


什么叫网络爬虫?

       网络爬虫又称网络蜘蛛,是指按照某种规则在网络上爬取所需内容的脚本程序。众所周知,每个网页通常包含其他网页的入口,网络爬虫则通过一个网址依次进入其他网址获取所需内容。

爬虫有什么用?

      做为通用搜索引擎网页收集器。(google,baidu)

      做垂直搜索引擎.

      科学研究:在线人类行为,在线社群演化,人类动力学研究,计量社会学,复杂网络,数据挖掘,等领域的实证研究都需要大量数据,网络爬虫是收集相关数据的利器。

      爬虫是搜索引擎的第一步也是最容易的一步。

用什么语言写爬虫?

      C,C++。高效率,快速,适合通用搜索引擎做全网爬取。缺点,开发慢,写起来又臭又长,例如:天网搜索源代码。

      脚本语言:Perl, Python, Java, Ruby。简单,易学,良好的文本处理能方便网页内容的细致提取,但效率往往不高,适合对少量网站的聚焦爬取

      C#?(貌似信息管理的人比较喜欢的语言)

为什么最终选择Python

       用c#,java写爬虫。区别不大,原理就是利用好正则表达式。只不过是平台问题。后来了解到很多爬虫都是用python写的,于是便一发不可收拾。Python优势很多,总结两个要点:

1.抓取网页本身的接口

       相比与其他静态编程语言,如java,c#,C++,python抓取网页文档的接口更简洁;相比其他动态脚本语言,如perl,shell,python的urllib2包提供了较为完整的访问网页文档的API。(当然ruby也是很好的选择)

      此外,抓取网页有时候需要模拟浏览器的行为,很多网站对于生硬的爬虫抓取都是喵的。这是我们需要模拟user agent的行为构造合适的请求,譬如模拟用户登陆、模拟session/cookie的存储和设置。在python里都有非常优秀的第三方包帮你搞定,如Requests,mechanize

2.网页抓取后的处理

      抓取的网页通常需要处理,比如过滤html标签,提取文本等。python的beautifulsoap提供了简洁的文档处理功能,能用极短的代码完成大部分文档的处理。

      其实以上功能很多语言和工具都能做,但是用python能够干得最快,最干净。

 

                                                                                                                                  原作者:AI女神安娜
                                                                                                 链接:https://www.jianshu.com/p/c380f4d3e6cd


回复

上一页1 页 / 共 1下一页
_Rise__Rise_

点赞0


评论


NaSNaS

帮忙喵

点赞0


评论


_Rise__Rise_

dd

点赞0


评论


Lonely_wandererLonely_wanderer

py的确是易学,容易一些的在爬虫方面

点赞0


评论


_Rise__Rise_

dd

点赞0


评论


_Rise__Rise_

点赞0


评论


一个STUB用户_6923702一个STUB用户_6923702

C++全能

点赞0


评论