0
"Trovaprezzi"와 같은 웹 사이트를 만들어야합니다. 이러한 이유로 저는 다른 웹 사이트에서 일부 데이터를 가져 와서 내 웹 사이트에 표시해야합니다. 내가 취해야 할 데이터는 링크입니다. PHP를 사용하려고 생각하고 CURL을 사용하려고했습니다. 더 나은 방법이 아니기 때문에 문제가있었습니다 (모든 페이지를 다운로드했지만 링크 만 사용할 수는 없습니다). 누군가 나를 도울 수 있습니까?PHP를 사용하여 웹 사이트에서 데이터 가져 오기
<?php
function cURLcheckBasicFunctions()
{
if(!function_exists("curl_init") &&
!function_exists("curl_setopt") &&
!function_exists("curl_exec") &&
!function_exists("curl_close")) return false;
else return true;
}
/*
* Returns string status information.
* Can be changed to int or bool return types.
*/
function cURLdownload($url, $file)
{
if(!cURLcheckBasicFunctions()) return "UNAVAILABLE: cURL Basic Functions";
$ch = curl_init();
if($ch)
{
$fp = fopen($file, "w");
if($fp)
{
if(!curl_setopt($ch, CURLOPT_URL, $url))
{
fclose($fp); // to match fopen()
curl_close($ch); // to match curl_init()
return "FAIL: curl_setopt(CURLOPT_URL)";
}
if(!curl_setopt($ch, CURLOPT_FILE, $fp)) return "FAIL: curl_setopt(CURLOPT_FILE)";
if(!curl_setopt($ch, CURLOPT_HEADER, 0)) return "FAIL: curl_setopt(CURLOPT_HEADER)";
if(!curl_exec($ch)) return "FAIL: curl_exec()";
curl_close($ch);
fclose($fp);
return "SUCCESS: $file [$url]";
}
else return "FAIL: fopen()";
}
else return "FAIL: curl_init()";
}
// Download from 'example.com' to 'example.txt' deal-title should-truncate
echo cURLdownload("http://www.groupon.it/browse/salerno?category=mangiare-e-bere&page=2", "example.txt");
?>
링크를 가져 가야 실제로 페이지가 다운로드되는 경우 정규식을 사용하지 않는 이유는 무엇입니까? – briosheje
데이터를 가져온 후 phpdom 라이브러리를 사용해보십시오. PHP에서 dom으로 HTML 문자열을 변환하고 javascript dom과 유사한 링크 (예 : $ ("a"))에 액세스 할 수있는 것보다 ... regex도 가능하지만 정규 표현식의 경우에는 ' 추가 검사를 많이하겠습니다. 필자는 phpdom library를 권할 것입니다. – razahassank