网页抓取 总结

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

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

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

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

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

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

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

    如下例子:

      

#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]);

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

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

原文地址:https://www.cnblogs.com/zibuyu/p/3234873.html