我的目标网站包含这样的代码
<form>
<input type="text" name="suggest" value="www.google.com">
<input type="submit" value="submit">
</form>
我使用Curl Php
获取此页面<?php
$url="http://mysite.com";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
$result = curl_exec ($ch);
echo $result;
curl_close($ch);
?>
如何使用id或name获取元素值?例如输入名称中的“www.google.com”=“建议”。谢谢你的帮助。
我无法将此代码用于远程,如下所示:
<?php
require 'Path/QueryPath.php';
qp('http://hipfile.com/bbgfom5ej9tm/zakhme_shaneie_haava_dvdrip.wmv.html/')-
找到( '[密码= “登录”') - &GT;的WriteHTML(); ?&GT;
并返回此错误
致命错误:未捕获的异常'QueryPathParseException',消息'DOMDocument :: load()[domdocument.load]:AttValue:“或'http://hipfile.com/bbgfom5ej9tm/zakhme_shaneie_haava_dvdrip.wmv.html/中预期的,第18行(C:\ xampplite \ htdocs \ test1 \ Path \ QueryPath.php:2106)'在C:\ xampplite \ htdocs \ test1 \ Path \ QueryPath.php:2346堆栈跟踪:#0 [内部函数]:QueryPathParseException :: initializeFromError(2,'DOMDocument :: lo ...','C:\ xampplite \ ht ...',2106,数组)#1 C:\ xampplite \ htdocs \ test1 \ Path \ QueryPath.php(2106):DOMDocument-&gt; load('http: // hipfile ....',0)#2 C:\ xampplite \ htdocs \ test1 \ Path \ QueryPath.php(179):QueryPath-&gt; parseXMLFile('http:// hipfile ....',NULL ,NULL)#3 C:\ xampplite \ htdocs \ test1 \ Path \ QueryPath.php(23):QueryPath-&gt; __ construct('http:// hipfile ....',NULL,Array)#4 C:\ xampplite \ htdocs \ test1 \ index.php(3):qp('http:// hipfile ....')#5 {main}在C:\ xampplite \ htdocs \ test1 \ Path \ QueryPath.php中抛出2346
可以帮帮我吗?我使用了两个DOM和simplehtmldom,但没有为我工作。它仅适用于本地页面。
答案 0 :(得分:3)
您必须使用DOM解析器。最近我一直在使用查询路径:http://querypath.org/
qp($result)->find('[name="name"]');
答案 1 :(得分:1)
试试这个
<?php
$url="http://mysite.com";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
$result = curl_exec ($ch);
echo $result;
curl_close($ch);
// include simple_html_dom class here
// which can be downloaded from http://simplehtmldom.sourceforge.net/
$oDom = new simple_html_dom();
$oDom->load($result);
$textFieldValue = $oDom->find('[name="suggest"]',0)->value;
echo $textFieldValue; // will return www.google.com
?>