| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1549 人关注过本帖
标题:网页分析(求助)
取消只看楼主 加入收藏
tsingtboy
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-9-4
收藏
 问题点数:0 回复次数:7 
网页分析(求助)
我想写个小程序,分析网页中的链接,将链接地址列出来,但我连最基本的那c语言教程都不了解。想写个只分析出图片链接的小程序来抛砖引玉,(想的时候觉得简单,真写的时候就傻了)自己实在是眼高手低,这都写不出来,口袋里连把土都没有更不用说砖了。
搜索更多相关主题的帖子: 网页 
2008-09-06 15:25
tsingtboy
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-9-4
收藏
得分:0 
憋了两天凑的点代码
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<ctype.h>
main()
{FILE *fr;
char *r,*p,*s;
long size;
int i;
char *data,*imgurl;
char imgurldata[255];
char string[10]={'s','r','c','=','"'};
char dataq[10000];
clrscr();
fr=fopen("zxc.html","r");
fseek(fr,0,2);
size=ftell(fr);

printf("%ld",size);
fclose(fr);
fr=fopen("zxc.html","r");
fgets(dataq,size,fr);  
fclose(fr);
data=dataq;
imgurl=imgurldata;
while(*data)
{
 r=string;
 p=data;





 while(*r)
    {
    if(*r==*p){r++;p++;}
    else break;}

 if(*r=='\0')
 {
  while(*data!='"')
    {*imgurl=*data;imgurl++;data++;}
  printf("%s\n",imgurl);
  for(i=0;i<=255;i++)
  imgurl[i]=0;
  }
 data++;

}





getchar();
}
2008-09-06 15:44
tsingtboy
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-9-4
收藏
得分:0 
#include"stdio.h"
find_url(char *data)
{char *p,*s,*r;
 char ch;
 int i;
 char urll[256];
 char str[10]={'s','r','c','=','"'};
 s=urll;
 while(*data)
 {
  r=str;
  p=data;
  while(*r)
    {
    if(*r==*p){r++;p++;}
    else break;}

   if(*r=='\0')
   {printf("AAAAAA:");
   ch=*p;
    while(ch!='"')
      {*s=*p;s++;p++;ch=*p;}
    printf("%s\n",urll);
    for(i=0;i<=255;i++)
      urll[i]=0;
    s=urll;
    }
   data++;

  }
}
main()
{
long size;
 char data[10000];
 FILE *fp;
 fp=fopen("aaa.txt","r");
 fseek(fp,0L,2);
 size=ftell(fp);
 rewind(fp);
 fgets(data,size,fp);
 fclose(fp);
 printf("%ld\n",size);
                           /* printf("%s\n",data);*/
 find_url(data);
 getchar();
}
2008-09-06 18:11
tsingtboy
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-9-4
收藏
得分:0 
没人帮,自己改楼,fgets读到硬回车(0x0d,0x0a)后面的旧部会读了,将fgets该用fread
2008-09-06 19:25
tsingtboy
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-9-4
收藏
得分:0 
加上了个findfirst,可以对一目录下的txt文件批量筛选,但有大于8k的文件会出现程序自动退出的问题,暂时只对D:\z\下的文本文件筛选图片地址,生成url.txt和url.dat,打开url.txt即可看见图片地址

SSA.rar (8.93 KB)
2008-09-07 12:24
tsingtboy
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-9-4
收藏
得分:0 
wget https://bbs.bccn.net/thread-231803-1-1.html
grep -o "\"\w\{1,\}://[^/\"]*[^\"]*\"" thread-231803-1-1.html
这是啥啊!
以前知道有个main,别都学的c除了会if ,printf不会,要等级考试了,才翻书看。前天刚发现这论坛注册了,这两天写上面的净错误的代码,找到个大错误该了快一下午了都没该好,源码就那么几行还改不好,唉。
2008-09-07 16:31
tsingtboy
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-9-4
收藏
得分:0 
觉得自己像芙蓉姐姐,只是自己在丑美,都没人看。
 将d:\z\下的html文件里的图片链接放到d:\z\url.txt里面还有个url.dat(打算把地址导入下载工具的,有点远以后在说),
  可能用的tc不好,书上写的复杂点的语句搞到上面都出错;老毛病不知道是什么问题(可不会出错了),脑袋胀了容错代码也懒得加了,想加上个自己选目录的,getchar()和fscanf()都没能明白。新源码传上来,好坏都是自己写的,以后再自己下了怀旧。加油

ssa.rar (1.54 KB)
2008-09-08 20:38
tsingtboy
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-9-4
收藏
得分:0 
#include<string.h>
#include<stdio.h>
int main(void)
{
    char str[]="yrz=******>abcd奥运中国1234//!@~#$%^&*()00123</a>";
    char result[20];
    sscanf(str,"%*[^>]%*[>]%[^<]",result);  //将'>'和'<'之间的内容提取出来。
    printf("%s\n",result);
    return 0;
}      c也有正则表达式,复制的周星驰头像的那人的,又学到东西了
2008-09-08 21:56
快速回复:网页分析(求助)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019603 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved