该选择哪个语言开发爬虫?
需要开发个采集腾讯、新浪微博的评论数据。
如果直接使用官方提供的API,会有很多数据获取不到。所以可能得自己写了。
我主要是想使用C++来开发的,其次才是PHP。在没办法的情况下,才会考虑使用python进行开发!
网上大概了解了下,很多采集程序都是使用python来开发的。因为python的网络库很多,很丰富,开发起来方便快捷。
PHP的也有个snoopy类库,C++的就不清楚了。
不知道,C++中有没有这方面的爬虫类库推荐呢?
回复内容:
需要开发个采集腾讯、新浪微博的评论数据。
如果直接使用官方提供的API,会有很多数据获取不到。所以可能得自己写了。
我主要是想使用C++来开发的,其次才是PHP。在没办法的情况下,才会考虑使用python进行开发!
网上大概了解了下,很多采集程序都是使用python来开发的。因为python的网络库很多,很丰富,开发起来方便快捷。
PHP的也有个snoopy类库,C++的就不清楚了。
不知道,C++中有没有这方面的爬虫类库推荐呢?
参考
C/C++ 网络爬虫
推荐Python。有requests等类库。
也有scrapy这样的框架。
python 唯一的好处就是 request 库真的很方便
我以前都是用 php 做爬虫的,现在都改用 python 了
其实用 JavaScript 也是很好的,node 或者 phantomJS
因为很多时候你不仅要把 HTML 爬下来,还要解析;而 python 的 DOM 库简直糟糕透顶;比如 BeautifulSoup,很多操作就非常不方便;相比之下,js 进行 DOM 操作就方便多了
弱弱的推荐一下 php 的 goutte
毫不犹豫golang
用python 没有原因
表示采用java,jsoup,http://www.husters.cn/ 抓爬的
- 有较好地html获取和解析支持。
- 有较好地并行控制。
- 方便处理异步任务。
- 容易开发DSL。(假如你需要用户自定义抓取路径的话。)
以前写过好几个版本的爬虫,供参考。http://niejason.sinaapp.com/?p=66
snoopy类库很久以前用过,不过感觉不是很好用。功能一般。
其实爬虫最网页请求那一块比较容易实现,也没有什么好说的。其实最主要是对请求回来的数据处理,分析。
所以我觉得用node.js会是很好的选择。
看看那位童鞋推荐下node.js有什么好的库。
node.js的jquery也不错。。。
建议用node, phamtomjs, node的jQuery, 还有jsdom, node下面很多解析html的包,非常方便
我觉得不是说选择哪个语言,主要是看开发者对哪个语言最熟悉。
如果是我的话,我会用 Node.js
Node.js 有一个 Cheerio 库,用来解析 HTML 效率十分不错。它的 API 风格是类似 jQuery 的。
啥都不说,肯定是python
需要开发个采集腾讯、新浪微博的评论数据。
目的明确了,解决的思路也不难。你的爬虫的主要功能就是
- 能向服务器进行通信,返回你需要页面的内容
- 解析页面源码,挖掘出你需要的信息
python是一个不错的推荐,解决两个问题都有完善的库。
比如urllib2解决http请求,lxml 解决页面源码的解析(解析成html树)。
关键步骤就是在解析后生成的html树中,找到所需信息,需要自己完成:
分析信息在html树中所在的位置,并告诉你的程序去对应位置(利用xpath来定位)抓信息
写过一个python抓取douban日志名称,URL,评论数,发布时间的爬虫。
能解决基本的挖掘需要后,再来考虑如何能更快及应对大型数据,目前了解的方法有iterparse方法,多线程等。
p.s
为什么是lxml?参考lxml performance
爬虫基本上就是网页抓去+内容分析了吧。
我也建议选择类库简单丰富的语言,比如Python和Ruby应该都不错。
Ruby可以选择的有Crul,mechanize,nokogiri,hpricot等。
php里有phpQuery,语法和jquery差不多,非常的好用!
Perl
竟然没人推荐..
golang 是个不错的选择
用python吧,你会发现有很多优点。。。
每个语言都可以,基本的爬虫只要涉及到一些HTTP请求和文档解析就能做出来。
Python有Scrapy等框架,上手比较快,可以研究一下。
爬虫无非就是获取网页内容,解析内容,正则出想要的数据,其实对于网页内容获取,任何语言都能获取,注意代理服务器防封IP,并行抓取等技术,个人感觉php 获取网页内容还是不错的,至于解析网页内容,基本上都是DOM的操作,那最佳选择还是nodejs,里边的cheerio很好的解决树形结构数据。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、

在PHP8 中,match表达式是一种新的控制结构,用于根据表达式的值返回不同的结果。1)它类似于switch语句,但返回值而非执行语句块。2)match表达式使用严格比较(===),提升了安全性。3)它避免了switch语句中可能的break遗漏问题,增强了代码的简洁性和可读性。

在PHP中可以通过使用不可预测的令牌来有效防范CSRF攻击。具体方法包括:1.生成并在表单中嵌入CSRF令牌;2.在处理请求时验证令牌的有效性。

PHP中的严格类型通过在文件顶部添加declare(strict_types=1);来启用。1)它强制对函数参数和返回值进行类型检查,防止隐式类型转换。2)使用严格类型可以提高代码的可靠性和可预测性,减少bug,提升可维护性和可读性。

在PHP中,final关键字用于防止类被继承和方法被重写。1)标记类为final时,该类不能被继承。2)标记方法为final时,该方法不能被子类重写。使用final关键字可以确保代码的稳定性和安全性。

C 中 release_semaphore 函数用于释放已获得的信号量,以便其他线程或进程访问共享资源。它将信号量计数增加 1,允许阻塞的线程继续执行。

Composer是PHP的依赖管理工具。使用Composer的核心步骤包括:1)在composer.json中声明依赖,如"stripe/stripe-php":"^7.0";2)运行composerinstall下载并配置依赖;3)通过composer.lock和autoload.php管理版本和自动加载。Composer简化了依赖管理,提升了项目效率和可维护性。

PHP中的...(splat)操作符用于函数参数和数组解包,提升代码简洁性和效率。1)函数参数解包:将数组元素作为参数传递给函数。2)数组解包:将一个数组解包到另一个数组中或作为函数参数。
