举个在百度首页填写搜索内容后,提交查询的例子。
打开Delphi, 新建VCL窗口程序。 添加一个 TWebBrowser 组件和 TEdit 文件框在窗口上。 给TWebBrowser改个名字WEB。 在WEB的NavigateComplete2事件中加入如下代码:
procedure TForm1WEBNavigateComplete2(ASender: TObject; const pDisp: IDispatch;
var URL: OleVariant);
var
s, kw: Variant;
t: string;
begin
// 获取页面对象
s := WEBDocument;
// 判断当前页面是不是百度主页
Edit1Text := sURL;
if sURL <> '>
$url = "网站地址目录";
$queryServer = curl_init();
curl_setopt($queryServer, CURLOPT_URL, $url);
curl_setopt($queryServer, CURLOPT_HEADER, 0);
curl_setopt($queryServer, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($queryServer, CURLOPT_RETURNTRANSFER, true);
curl_setopt($queryServer, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($queryServer, CURLOPT_TIMEOUT, 30);
$html = curl_exec($queryServer);
$html = iconv('UTF-8','GBK//IGNORE',$html); //如果你需要是的数据是utf-8编码的,这一行可以注销,如果需要gbk编码的,请保留如果出现乱码,就是一行的问题,你自己调着试吧
//echo $holder;exit; 此处可以输出来测试
$html = str_replace(array("\n","\r","\t"),"",$html);
$preg = '/<table\s+width=\"800\"[^>]+>()<\/table>/';
preg_match_all($preg,$html,$out);
//匹配每行
preg_match_all('/<tr[^>]+>()<\/tr>/',$out[1][0],$tr);
//匹配每个td
$result = array();
$match = '/<td+>([^<]+)<\/td>/U';
foreach( $tr[0] as $key => $value ){
preg_match_all($match,$value,$arr);
$result[] = $arr[1];
}
//输出测试,$result就是你要的数据,至于你要怎么输出显示格式,那就随心调就好了。
foreach( $result as $key => $value ){
echo implode("\t",$value);
echo "<br>";
}
exit;
以上就是关于谁有delphi 获取动态网页的并且自动填写数据的,提交的示范!全部的内容,包括:谁有delphi 获取动态网页的并且自动填写数据的,提交的示范!、PHP怎样抓取网页代码中动态显示的数据、如何利用php抓取网站动态产生的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)