我需要运行一个爬取网站的程序,并且我已经有了一个算法和部分代码。问题是,我不知道如何插入wget
到我的源代码中。wget
我们的学生助理暗示应该在(之前使用某种关键字或函数system
,我认为或其他东西,但我不太确定)。
问问题
11311 次
4 回答
3
何时不使用system
:
1.)当您想将程序分发到不同的环境时,您通过系统调用的程序不可用
2.)在安全相关的环境中,您必须确保您调用的程序确实是您想要的程序
3.) 当你想做的事情可以用 10-20 行 C 代码轻松完成时
4.) 在性能关键型应用中
所以,你应该system
几乎从不使用。
相反,要完成同样的事情,您可以使用 libcurl,正如 David 建议的那样(他的答案似乎已经消失了......),或者进行一些套接字编程(毕竟是 C)。
在现实世界的场景中,我可能只是默认使用不同的语言编写爬虫。Web 请求和复杂的字符串处理不一定是 C 的强项,而且绝对不是很方便使用:)
于 2013-03-11T12:07:28.027 回答
1
每当您想从 C 程序运行 shell 命令时,您都可以使用system("shell command")
. 在您的情况下
system("wget");
注意 - wget 是一个可执行文件,其位置已添加到路径变量中,因此无需显式指定路径。
- 例子 -
#include <stdio.h>
#define BUFFLEN 2500
int main()
{
char web_address[BUFFLEN] = "www.google.com";
system("wget 'web_address' ");
return 0;
}
于 2013-03-11T12:22:01.833 回答
0
该system
命令用于执行 shell 命令。人系统
于 2013-03-11T11:57:51.070 回答