为什么很少人讨论或者使用java爬虫

Python014

为什么很少人讨论或者使用java爬虫,第1张

1、爬虫的经济价值在哪里?只有经济价值存在的情况下,才有必要去开发这样一个爬虫。但不幸的是,现在的很多场合下,爬虫没有太大价值。仅有:比价,数据统计,搜索引擎,信贷爬虫等有限的几个场合在用,而这几个场合基本被大公司垄断了。所以现在很少有人写爬虫了。

2、写个爬虫的难度有多大?一上午,仅此而已。所以没什么难度,顶多设置一下userAgent,设置一下refer,弄个调用顺序先获得cookie,设置个延时什么的。换成金钱看,估价大概价值三四百块吧,用不了多钱。

3、爬虫能用多久?很久很久,只要被爬的系统不升级,那么就能一直用下去,换话说:写一个爬虫,用半年是很常见的事情。很常见就意味着没什么太大意思,不受人关注

我用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能够干得最快,最干净。Life is short, u need python.

Python爬虫基础视频

冲最后一句‘Life is short, u need python’,立马在当当上买了本python的书!以前就膜拜过python大牛,一直想学都扯于各种借口迟迟没有开始。。

py用在linux上很强大,语言挺简单的。

NO.1 快速开发(唯一能和python比开发效率的语言只有rudy)语言简洁,没那么多技巧,所以读起来很清楚容易。

NO.2跨平台(由于python的开源,他比java更能体现"一次编写到处运行"

NO.3解释性( 无须编译,直接运行/调试代码)

NO.4构架选择太多(GUI构架方面 主要的就有 wxPython, tkInter, PyGtk, PyQt 。

当然是Python,一般我们都口语化说Python爬虫,爬虫工程师都是用python语言。

Python独特的优势是写爬虫的关键。1)跨平台,对Linux和windows都有不错的支持2)科学计算、数值拟合:Numpy、Scipy3)可视化:2d:Matplotlib, 3d: Mayavi24)复杂网络:Networkx、scrapy爬虫5)交互式终端、网站的快速开发。

用Python爬取信息的方法有三种:

1、正则表达式。实现步骤分为五步:1)在tomcat服务器端部署一个html网页2)使用URL与网页建立联系3)获取输入流,用于读取网页中的内容4)建立正则规则5)将提取到的数据放到集合中。

2、BeautifulSoup。

Beautiful Soup支持各种html解析器,包括python自带的标准库,还有其他的许多第三方库模块。其中一个是lxml parser。借助网页的结构和属性等特性来解析网页的工具,有了它我们不用再去写一些复杂的正则,只需要简单的几条语句就可以完成网页中某个元素的提取。

3、Lxml。Lxml是Python的一个解析库,支持HTML和XML的解析,支持xpath解析方式,而且解析效率非常高。Lxml主要解决三个问题:1)有一个XML文件,如何解析2)解析后,如果查找、定位某个标签3)定位后如何操作标签,比如访问属性、文本内容等。

当网页结构简单并且想要避免额外依赖(不需要安装库),使用正则表达式更为合适。当需要爬取数据量较少时,使用较慢的BeautifulSoup也可以的。当数据量大时,需要追求效益时,Lxml时最好选择。

爬虫是一个比较容易上手的技术,也许你看一篇文档就能爬取单个网页上的数据。但对于大规模爬虫,并不是1*n这么简单,因此很多企业都在高薪招聘Python精英人才。