首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C++网络爬虫

C++网络爬虫
EN

Stack Overflow用户
提问于 2012-07-01 00:35:08
回答 3查看 1.4K关注 0票数 0

我正在尝试并尝试制作一个最小的网络爬虫。我在很高的层次上理解了整个过程。那么进入下一层细节,程序如何“连接”到不同的网站来提取HTML?

我是否在使用套接字连接到服务器并发送http请求?我是否向终端发出了运行telnet或ssh的命令?

另外,对于网络爬虫来说,C++是一个很好的选择吗?

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-01 03:54:02

简而言之,不是。我更喜欢用C++编写代码,但是这个实例需要一个Java应用程序。该API有许多html解析器以及内置的套接字协议。这个项目在C++中将是一个痛苦的问题。我用java编写了一次,它有点令人愉悦。

顺便说一句,有很多网络爬虫,但我假设你有自定义需求:-)

票数 0
EN

Stack Overflow用户

发布于 2012-07-01 00:45:11

还有,C++是网络爬虫的首选语言吗?

视情况而定。你对C++有多在行。

C++是一种编写高级高速爬虫的好语言,因为它的速度很快(您需要用它来处理HTML页面)。但是用它来编写爬虫并不是最简单的语言,所以如果你正在进行实验,可能不是一个好的选择。

根据您的问题,您没有编写高级爬虫程序的经验,因此您可能希望构建一个简单的串行爬虫程序。因为这个速度不是优先考虑的问题,因为瓶颈是通过web下载页面(而不是页面的处理)。所以我会选择另一种语言(也许是python)。

票数 2
EN

Stack Overflow用户

发布于 2012-07-01 00:48:59

如果您计划继续使用C++,那么您应该考虑使用libcurl库,而不是使用套接字从头开始实现HTTP协议。有可用于该库的C++ bindings

来自curl的网页:

libcurl是一个免费和易于使用的客户端网址转换库,支持DICT,FILE,FTP,FTPS,Gopher,HTTP,HTTPS,IMAP,IMAPS,LDAP,LDAP,POP3,POP3S,RTMP,RTSP,SCP,SFTP,SMTP,SMTPS,Telnet和TFTP。libcurl支持SSL证书、HTTP POST、HTTP PUT、FTP上传、基于HTTP form的上传、代理、cookies、user+password身份验证(基本、摘要、NTLM、协商、Kerberos)、文件传输恢复、http代理隧道等等!

libcurl是高度可移植的,它在许多平台上的构建和工作方式都是一样的,包括Solaris、NetBSD、FreeBSD、OpenBSD、Darwin、HPUX、IRIX、AIX、Tru64、Linux、UnixWare、HURD、Windows、Amiga、OS/2、BeOs、Mac、Ultrix、QNX、OpenVMS、RISC OS、Novell NetWare、DOS等等。

是免费的,线程安全的,兼容IPv6的,功能丰富,支持良好,速度快,文档完整,已经被许多知名的成功的大公司和许多应用程序使用。libcurl

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11275765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档