3

私のターゲットサイトには、このようなコードが含まれています

<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または名前を使用して要素の値を取得するにはどうすればよいですか? たとえば、入力名の「www.google.com」は「suggest」です。私を助けてくれてありがとう。

このコードを次のようにリモートに使用することはできません:

<?php
require 'Path/QueryPath.php';
qp('http://hipfile.com/bbgfom5ej9tm/zakhme_shaneie_haava_dvdrip.wmv.html/')-

find('[password="login"]')->writeHTML(); ?>

このエラーを返します

致命的なエラー:メッセージ「DOMDocument::load() [domdocument.load]: AttValue:」または「http://hipfile.com/bbgfom5ej9tm/zakhme_shaneie_haava_dvdrip.wmv.html/で予期される」というメッセージを含むキャッチされない例外「QueryPathParseException」、行: 18 (C:\xampplite\htdocs\test1\Path\QueryPath.php: 2106)' in C:\xampplite\htdocs\test1\Path\QueryPath.php:2346 スタック トレース: #0 [内部関数]: QueryPathParseException::initializeFromError(2, 'DOMDocument::lo...', 'C:\xampplite\ht...', 2106, Array) #1 C:\xampplite\htdocs\test1\Path\QueryPath.php( 2106): DOMDocument->load('http://hipfile....', 0) #2 C:\xampplite\htdocs\test1\Path\QueryPath.php(179): QueryPath->parseXMLFile('http: //hipfile....', NULL, NULL) #3 C:\xampplite\htdocs\test1\Path\QueryPath.php(23): QueryPath->__construct('http://hipfile....', NULL, Array) #4 C:\xampplite\htdocs\test1\index.php(3): qp('http://hipfile....') #5 {main} が C:\xampplite\htdocs\ でスローされる2346 行目の test1\Path\QueryPath.php

私を助けることができますか?私は2つのDOMとsimplehtmldomを使用しましたが、うまくいきませんでした。ローカルページでのみ機能します。

4

2 に答える 2

3

DOM パーサーを使用する必要があります。最近、クエリ パスを使用しています: http://querypath.org/

qp($result)->find('[name="name"]');
于 2012-05-11T09:19:43.417 に答える
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

?>
于 2012-05-11T09:44:57.497 に答える