• 网页抓取 总结


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

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

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

  • 相关阅读:
    选择排序
    UVA 10142 Australian Voting(模拟)
    Android Intent 其中一个分析
    leetcode先刷_Merge Two Sorted Lists
    图片缓存负载
    c/c++ 基金会(七) 功能覆盖,虚函数,纯虚函数控制
    Petroglyph访问:中间件游戏
    Cocos2d-x3.0 文件处理
    Qt5官方demo分析集29——Extending QML
    [Phonegap+Sencha Touch] 移动开发34 gem安装compass,不编译scss,怎么办?
  • 原文地址:https://www.cnblogs.com/zibuyu/p/3234873.html
Copyright © 2020-2023  润新知