网页抓取 总结

1、指针每次变化后使用后要判断 死是否为空

2、标志性 指针位置要 谨慎,尽量不要以 属性为标志,因为可能会 没哟,失去 标志

3、可以以 汉字后缀 作为  引导 地址时,一定要先 转化为 UTF-8后 再加到 后缀上

4、索引  网页源码时候,要有判空处理,空的时候 多次 索引,一面 网络延迟时候,没有抓到网页

5、预存网页的 数组一定要 足够大,一般 先放到UC上 看看大小,一般开导1024*100 以上 保险

6、存储 母 页面的指针和 数组,子页面不能使用

7、指针字符串接收字符串,申请内存的时候,记得要+1,因为strlen申请的长度,不带‘\0’,如果申请的长度不够。最后释放的时候出出错

    如下例子:

      

#include<stdio.h>

#include<malloc.h>

#include<string.h>

int main()

{



    int i ;

    char a[256]= "sadasdsad";

    char *b = NULL;

    char *FileContent = NULL;

    b = a;

//    i  = 256;

    i = strlen(a);

//    i = strlen(a)+1;  //正确写法

    FileContent = (char *) malloc(i * sizeof(char));

    //FileContent = "asdfasdfasdasdf";

    strcpy(FileContent,b);

    free(FileContent);

    return 0;

}

 8 、翻译的时候调用CodeConvert()函数的时候,要注意,不能直接用指针来接收参数,虽然它指向的是一段内存空间,

  但是第四个参数是 长度大小,sizeof的时候,长度是2,并不是他空间的大小,所以接收不到 参数,这时,一般可以

  暂时申请一个 数组,接收下,接收后 copy给这个指针就行啦

 9、二维数组 在调用时要注意,调用的二维大小要与定义时的大小一样大。f(char szInfo[][2048]);

 

   这几天抓取电影 信息的时候,遇到很多问题,首先是 数据库连接 不熟悉,出现很多错误,走了很多弯路,浪费了很多时间。

后来又因为 操作的格式不规范,出现很内存泄露的问题。以后多多注意!

你可能感兴趣的:(网页抓取)