c++如何实现将网页保存为文本

Email144 2009-03-12 08:42:37
各位朋友,我想用编程的方法实现将一个任意的网页内容保存为文本文件,让后作为流输出到计算机上,\
大家都用什么方法呀
...全文
211 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
rgmlkthh 2009-03-13
  • 打赏
  • 举报
回复
楼上回答很仔细,不知道对不?
我看你有戏 2009-03-13
  • 打赏
  • 举报
回复


#include <stdio.h>
#include <Windows.h>
#include <wininet.h>
#define MAXBLOCKSIZE 1024
#pragma comment (lib, "wininet.lib")
void download(const char*);

int main(int argc, char* argv[]){

download("http://www.baidu.com");

return 0 ;

if(argc > 1){
download((const char*)argv[1]);
}else{
printf("Usage: auto-Update url");
}
return 0;
}


/**
* 执行 文件下载 操作
* @param Url: The target action url
*
*/
void download(const char *Url)
{
HINTERNET hSession = InternetOpen("RookIE/1.0", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
if (hSession != NULL)
{
HINTERNET handle2 = InternetOpenUrl(hSession, Url, NULL, 0, INTERNET_FLAG_DONT_CACHE, 0);
if (handle2 != NULL)
{
printf("%s\n",Url);
byte Temp[MAXBLOCKSIZE];
ULONG Number = 1;

FILE *stream;
if( (stream = fopen( "c:\\1.dat", "wb" )) != NULL )//这里只是个测试,因此写了个死的文件路径
{
while (Number > 0)
{
InternetReadFile(handle2, Temp, MAXBLOCKSIZE - 1, &Number);
//fprintf(stream, (const char*)Temp);
fwrite(Temp, sizeof (char), Number , stream);
}
fclose( stream );
}

InternetCloseHandle(handle2);
handle2 = NULL;
}
InternetCloseHandle(hSession);
hSession = NULL;
}
}


  • 打赏
  • 举报
回复
我以前在网页是是用PHP的一个函数:
string strip_tags(str)
自动去除网页中的所有标记
保留内容
Alan S1 2009-03-12
  • 打赏
  • 举报
回复
过滤标签,用正则
Email144 2009-03-12
  • 打赏
  • 举报
回复
我说的是用C++来读取网页信息,不是用记事本另存为文本
f22fbi 2009-03-12
  • 打赏
  • 举报
回复
LZ的意思是把网页上的文字保下?
我估计要根据html的语法来提取
chin_chen 2009-03-12
  • 打赏
  • 举报
回复
直接将它保存为文本文件,
然后用c++输出流 输出就行了。
  • 打赏
  • 举报
回复
没做过网页的,帮up

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧