获取网页数据并分析
来源:互联网 发布:网络炒作案例 郭美美 编辑:程序博客网 时间:2024/06/05 16:49
最近写一个抓网页并提取页面信息的小东东(需要登陆的网站)
一
登陆的标识: UID和COOKIE
获取后把UID和COOKIE写入ini以备使用
二
获取网页数据的一些基本方法
(1) (CHttpConnection* )m_pConnection=(CInternet *Session) m_Sessions.GetHttpConnection(_T(m_HostAdderss),m_Port);
(2)m_pConnection->OpenRequest(m_Method,m_GetPath+m_FileName,m_Referer,1,NULL,m_HttpVersion,
INTERNET_FLAG_EXISTING_CONNECT );
(3)pot = (CHttpFile* )m_pFile->SendRequest(
_T(Headers),(LPVOID)(LPCTSTR)_T(this->m_SendMeg),m_SendMeg.GetLength());
(4)m_pFile->ReadString(tempString)
三
分析页面数据的一个片段(命名很混乱 ^_^)
filedata.Find(BZ);//BZ:关键字
filedata = filedata.Mid(pot);
count = filedata.Replace(BZ,BZ);
filedata = filedata.Mid(18);
for(int i=0;i<count;i++)
{
pot = filedata.Find(BZ);//分成几个联赛
if( pot == -1)
{
pot = filedata.GetLength();
lsdata_ls = filedata.Left(pot);
}
else
{
lsdata_ls = filedata.Left(pot);
filedata = filedata.Mid(pot+18);
}
//每个联赛再分
hj =0;hjj =0;
Newdata += "'";
pot = lsdata_ls.Find(">");
lsdata_ls = lsdata_ls.Mid(pot);
pot2 = lsdata_ls.Find("<");
Newdata += lsdata_ls.Mid(1,pot2-1);
Newdata += "',";
lsdata_ls = lsdata_ls.Mid(pot2+20);
kk = lsdata_ls;
while(kk.GetLength()>10)
{
gameid = "'";//得到gameid
pot = kk.Find("javascript:DoVote");
if(pot==-1)break;
kk =kk.Mid(pot);
gameid = kk.Mid(23,7)+"',";
pot = m_game.Replace(gameid,gameid);
if(pot==0)
m_game +=gameid;
kk = kk.Mid(30);
}
while(lsdata_ls.GetLength()>10)
{
pot= lsdata_ls.Find("</TR>");
lsdata_cc = lsdata_ls.Left(pot);
lsdata_ls = lsdata_ls.Mid(pot+6);
while(lsdata_cc.GetLength()>10)
{
if(lsdata_cc.GetLength()<300)//和局
{
hj++;
while(1)
{
pot = lsdata_cc.Find(">");
lsdata_cc = lsdata_cc.Mid(pot);
pot2 = lsdata_cc.Find("<");
if(pot2 == 1)
{
lsdata_cc = lsdata_cc.Mid(pot2);
continue;
}
Newdata += "'";
Newdata += lsdata_cc.Mid(1,pot2-1);
lsdata_cc = lsdata_cc.Mid(pot2+1);
if(lsdata_cc.GetLength()<6){
Newdata+="/n";break;}
Newdata += "',";
}
}
else
{ hjj++;
if( (hjj>1)&&(hj==0) )
Newdata +="/n";
pot = lsdata_cc.Find("<TD");//时间
lsdata_cc = lsdata_cc.Mid(pot+3);
pot = lsdata_cc.Find(">");
pot2 = lsdata_cc.Find("</TD>");
Newdata +="'";
Newdata += lsdata_cc.Mid(pot+1,pot2-1);
Newdata +="',";
lsdata_cc = lsdata_cc.Mid(pot2+4);
for(int i=0;i<2;i++)
{
Newdata +="'";
pot = lsdata_cc.Find("<tr>");//主客队
lsdata_cc = lsdata_cc.Mid(pot+4);
pot2 = lsdata_cc.Find("</tr>");
lsdata_zd = lsdata_cc.Mid(1,pot2);
lsdata_cc = lsdata_cc.Mid(pot2+1);
while(lsdata_zd.GetLength()>3)
{
pot = lsdata_zd.Find(">");
lsdata_zd = lsdata_zd.Mid(pot);
pot2 = lsdata_zd.Find("<");
if(pot2 == 1)
{
lsdata_zd = lsdata_zd.Mid(pot2+1);
continue;
}
Newdata += lsdata_zd.Mid(1,pot2-1);
lsdata_zd = lsdata_zd.Mid(pot2+1);
}
Newdata +="',";
}
while(lsdata_cc.GetLength()>20)//其它
{
pot = lsdata_cc.Find(">");
lsdata_cc = lsdata_cc.Mid(pot);
pot2 = lsdata_cc.Find("<");
if(pot2 == 1)
{
lsdata_cc = lsdata_cc.Mid(pot2+1);
continue;
}
Newdata +="'";
Newdata += lsdata_cc.Mid(1,pot2-1);
if(lsdata_cc.GetLength()<28)break;
Newdata +="',";
lsdata_cc = lsdata_cc.Mid(pot2+1);
}
}if(lsdata_cc.GetLength()<20)break;
}
lsdata_ls = lsdata_ls.Mid(6);
} Newdata += "/n";
- 获取网页数据并分析
- 网页数据抓取并分析
- Java读取网页数据并分析
- Spark获取并分析Mysql数据
- [Android 中级] AsyncTask 网页数据获取并显示进程
- 抓取网页信息并获取生成xml文件(以网页彩票数据为例)
- 赵雅智_android系统联系人app分析并获取数据
- 网页数据获取
- 获取网页内容,并保存
- awstat网页数据分析
- 网页数据分析工具
- jsoup 分析网页数据
- 网页抓取数据并分析,特别包括分页数据的抓取。
- 网页抓取数据并分析,特别包括分页数据的抓取
- 获取并显示数据
- 抓取网页数据并解析
- C# C/S程序请求网页地址,并获取返回数据代码
- 用ajax获取json数据并在网页上面显示小例子
- 这几天停了...
- 什么是HTML?
- 中国软件架构师网“项目经理和软件架构师培训计划”
- 恍然大悟
- Sql Server实用操作小技巧集合
- 获取网页数据并分析
- ASP.NET页面在IE缓存问题的解决
- Perl(二)-数组
- ASP.NET状态存储管理九大兵器
- Linux内核配置系统浅析
- 什么是XHTML
- Linux内核Makefile文件
- 群硕往年的笔试题
- 在Windows Vista安装.NET 2.0开发环境注意事项