小弟最近在写一个网络通信程序,需要获取网页中的一个字符串,而这个字符串还不是固定的,小弟很是迷茫!应该如何实现?希望高手指点!
比如说我想要获取csdn上帖子发表的时间 应该怎么办呢?
比如说我想要获取csdn上帖子发表的时间 应该怎么办呢?
解决方案 »
- 关于delphi的类库
- 超市的哪种打印是怎样实现的(在QR中)?
- 时机已经成熟,再加上一个有意义点的求婚就可大功告成,请大富翁们帮忙想个DEMO!!(60大洋)
- 哪有gprs通信的相关文章和源码
- 都快气死了,快帮我看看吧!
- help! 关于定义数据库赋值的通用方法
- HELP!!!关于Diamond Access控件的奇怪问题!!!!!!!!!!
- 关于excel数据的导入和导出
- sqlserver数据库,有1,2百万记录, 用什么方法查询可以速度最快??
- DirectX3D,怎么看起来,与OpenGl那么相似?有没人开发过,知道其中差别?指点一下?
- 请问,如何打开.BAT的文件?
- 问一下发送邮件的程序出现这个问题是怎么回事?
I:=POS('CHAR',S);
var
L:TStringList;
i:integer;
begin
try
L:=TStringList.Create;
L.Add(IdHTTP1.Get('http://community.csdn.net/Expert/topic/4536/4536074.xml?temp=.4449427'));
for i:=0 to L.Count-1 do
begin
if Pos('<PostDateTime>',L[i])>0 then
//查看网页源代码 这个例子的发贴时间位置:<PostDateTime>2006-01-27 11:10:00</PostDateTime>
//直接用Copy就可以得到了,当然,若是取值的条件独一无二的话就更好处理了。
mmo1.Lines.Add(Copy(L[i],Pos('<PostDateTime>',L[i])+14,Pos('</PostDateTime>',L[i])-Pos('<PostDateTime>',L[i])-14))
end;
finally
L.Free;
end;
end;
我写的下载电影图片的例子你可以看看
http://www.2ccc.com/article.asp?articleid=2621
var
L:TStringList;
i:integer;
str:string;
begin
try
L:=TStringList.Create;
L.Add(IdHTTP1.Get('http://www.sharebank.com.cn/soft/softbuy_fin.php?url=NDcxMDE0fDEzMDE1fDIzNTAyMXwzfHdlYWxzaEAyMWNuLmNvbXx8fA=='));
for i:=0 to L.Count-1 do
begin
if Pos('订单号 <font',L[i])>0 then
begin
str:=Copy(L[i],Pos('bignum">',L[i])+8,Pos('</',L[i]));
mmo1.Lines.Add(Copy(str,1,pos('</font>',str)-1));
end;
end;
finally
L.Free;
end;
end;
<input name='tid' type='hidden' value=61138434471000471343>要获取tid的值61138434471000471343
<input name 只有这两处,而关键字写if Pos('<input name='tid'',L[i])>0 then这样还不行,他有"'"符号,我该怎么半呢,再次麻烦高手了.我很菜啊,只是写过一个论坛灌水机,朋友把我看的太高了(是他也不懂网络编程) 嘿嘿 ^_*
拿楼主问的问题为例,我购买豪杰超级解霸,点击提交订单,应该如何实现呢?是不是只要抓包然后post就行了?可是我老是弄不成功.请高手帮忙.!以下是我点击提交订单抓到的包.
POST /soft/softbuy_2.php HTTP/1.1
Accept: */*
Referer: http://vnet.sharebank.com.cn/soft/softbuy.php?soid=13317
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; Maxthon; .NET CLR 1.1.4322)
Host: vnet.sharebank.com.cn
Content-Length: 162
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: last_soft=13317; o_regname=RantipoledHERO%D7%A8%D3%C3%B9%BA%C2%F2%B9%A4%BE%DF; o_useremail=RH_PublicEmail%40126.com; o_usermtel=13; __utma=55348841.1188863862.1138495194.1138512626.1138545409.4; __utmz=55348841.1138495194.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); __utmb=55348841; PHPSESSID=9242cdd8ef8172f6714ddfc542046ee5softid=13317&orsoqty=1®name=123&[email protected]&[email protected]&userbakemail=&usermtel=13&usermsg=&term=yes&imageField.x=77&imageField.y=8
是应该看下面这一段吧?以下是我的程序
procedure TForm1.bsSkinButton3Click(Sender: TObject);
const
softid='13317';
orsoqty='1';
regname='123';
useremail='[email protected]';
tmpmail='[email protected]';
userbakemail='';
usermtel='13';
usermsg='';
term='yes';var
params:tstrings;
htm:string;
begin
params:=tstringlist.Create;
try
params.Add('softid='+softid);
params.Add('orsoqty='+orsoqty);
params.Add('regname='+regname);
params.Add('useremail='+useremail);
params.Add('userbakemail='+userbakemail);
params.Add('tmpmail='+tmpmail);
params.Add('usermtel='+usermtel);
params.Add('usermsg='+usermsg);
params.Add('term='+term);htm:=idhttp3.Post('http://vnet.sharebank.com.cn/soft/softbuy_2.php',params);
if pos('http://vnet.sharebank.com.cn/soft/softbuy_2.php',htm)=0 then
begin
ShowMessage('失败');
end;finally
Params.Free;
end;
end;执行后提示失败,请高手帮忙改下,谢谢!