网页抓取 总结
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]);
这几天抓取电影 信息的时候,遇到很多问题,首先是 数据库连接 不熟悉,出现很多错误,走了很多弯路,浪费了很多时间。
后来又因为 操作的格式不规范,出现很内存泄露的问题。以后多多注意!