제목 | 질문 있습니다! URL의 타이틀 값 따오기. | ||
---|---|---|---|
글쓴이 | Lectom | 작성시각 | 2012/01/02 19:46:26 |
|
|||
하하.. 새해 복 많으 받으십시오.. (넙죽) 다름이 아니라, function fetch_body($url) { //해당 URL이 유요한지 확인하고, 제목값을 가져오는 함수 url은 변수로 받음. if (!preg_match('~^https?://~i', $url)) { trigger_error('Invalid URL given in ' . __FUNCTION__, E_USER_NOTICE); return false; } if (!$content = @file_get_contents($url)) { return false; } if(mb_detect_encoding($content, 'EUC-KR', true) == 'EUC-KR') // mb함수로 인코딩이 EUC-KR인지 확인하는 함수. 작동 안하면 => if(iconv('euc-kr', 'euc-kr', $str) == $str)) { // $content=iconv("euc-kr","utf-8//ignore",$content); $content=mb_convert_encoding($content,"UTF-8","EUC-KR"); } if (!preg_match('~<title>(.*?)</title>~si', $content, $title)) { $result['title']=false; } return $result; }이렇게 제목값을 가져오는 함수를 만들어 쓰고 있었는데요. 동시에 100여개 페이지의 제목값을 가져와야 하는 일이 생겼습니다. 위의 코드를 쓰니 3분 이상이 걸리더라구요.. ㅠ.ㅠ 서버 증설등의 작업 없이, 좀 더 속도를 개선 시킬 수 있는 방법 없을까요? ㅜ.ㅜ |
|||
다음글 | 코드 수행후 결과처리할때요 (2) | ||
이전글 | RSS 라이브러리 사용중 에러가 나네요 ㅠㅠ (8) | ||
변종원(웅파)
/
2012/01/02 22:35:16 /
추천
0
|
Lectom
/
2012/01/03 01:32:12 /
추천
0
감사합니다 ^^;; 그런데, 컨텐츠를 10줄 정도만 가지고 오려면 어떻게 해야 할까요? ㅠ.ㅠ 검색해 보니 file_get_contents 를 이용한 방식은 잘 안나오고, cURL을 사용하면 될듯 하긴 한데 말이죠;; header( 'Content-Type: text/xml' ); $curl = curl_init(); $timeout = 5; // 0으로 하면 시간제한이 없다. curl_setopt( $curl , CURLOPT_URL, $url ); curl_setopt( $curl , CURLOPT_RETURNTRANSFER, 1); curl_setopt( $curl , CURLOPT_BUFFERSIZE, ?); curl_setopt( $curl , CURLOPT_TIMEOUT,$timeout); curl_setopt( $curl , CURLOPT_CONNECTTIMEOUT, $timeout ); |
Lectom
/
2012/01/03 08:48:32 /
추천
0
아항... file_get_contents에 옵션이 있군요 ^^;; 감사합니닷!!
|
그리고 타이틀만 필요한데 모든 컨텐츠를 가져와서 검색을 합니다.
컨텐츠도 10줄 정도만 가져오게 바꿔보세요