내 get-listing.php 출력에 16 개의 링크가 있고 각 URL에 요청을 보내서 응답을 받으려면 요소 목록을 받아야합니다. 각 URL에 요청을 보낼 때.simple_http_dom - 각 URL에 요청을 보내는 방법
$base1 = "http://testbox.elementfx.com/get-listing.php";
$html = file_get_html($base1);
$links = $html->find('p[id=links] a');
foreach ($links as $element)
{
//open each url in each array
$urls[] = $url = $element->href;
$data = file_get_html($url);
}
위의 코드를 사용하면 각 URL에 9 개의 응답이있는 요청 만 보내집니다. 9 가지 이상의 응답이 있어야합니다.
simple_http_dom을 사용하여 응답을 받기 위해 모든 URL에 요청을 보낼 수있는 방법을 알려주십시오.
foreach ($links as $element)
{
// This array stack is only necessary if you plan on using it later
$urls[] = $url = $element->href;
// $opts and $context are optional for specifying options like method
$opts = array(
'http'=>array(
'method'=>"GET", // "GET" or "POST"
)
);
$context = stream_context_create($opts);
// Remove context argument if not using options array
$data = file_get_contents($url, false, $context);
// ... Do something with $data
}
귀하의 다른 옵션이 더 복잡하지만 (더 많은 유연성을 가지고 : 당신의 질문은 이미 구문 분석 한 각 URL에 간단한 요청을 보내고 다시 응답을하는 경우
동일한 'id'를 가진 요소가 두 개 이상 있으므로 웹 표준을 위반하는 것이 문제의 일부일 수 있습니다. 이를 위해'class'를 사용하십시오. – ceejayoz
@ceejayoz 귀하의 조언에 감사드립니다. 응답을 받기 위해 각 URL에 요청을 보낼 수있는 코드를 게시 할 수 있습니까? –
"링크"라는 ID를 가진 단락 안에있는 모든 링크 또는 모든 링크를 찾으십니까? – Ali