<div class="info">
<p class="rating">1551<span>상위 12.3501%</span></p>
변수에 1551이라는 숫자를 넣어 불러오는 하드코딩이아닌 고정값이아닌 동기화마다 바뀌는값을 자동으로 크롤링해서 mysql 로 올리고싶습니다.
위 태그처럼 어느 특정 홈페이지에서 1551 이라는 숫자를 실시간으로 크롤링하여 db로 넣으녀는 작업을 하고있습니다.
근데
include_once 'Snoopy.class.php';
$snoopy=new snoopy;
$o="";
$snoopy->fetch("http://링크");
$txt=$snoopy->results;
$rex="/\<p class=\"rating.+\"\>(.*)\<\/p\>/";
preg_match_all($rex,$txt,$o);
print_r($o[0][0]);
이렇게했는데 결과값이 불러지지않더라구요 무엇이 잘못되엇는지 도무지 알수가없어서 이렇게 질문올립니다
답변 1개 / 댓글 4개
정규식을 아래와 같이 바꿔 보시겠어요?
<p\s+class="rating">([^<]+)<span>
답변에 대한 댓글 4개
rating의 좌우 쌍따옴표는 escape처리를 하셨나요??
[code]
$str = "<p class=\"rating\">1551<span>상위 12.3501%</span></p>";
preg_match_all("/<p\s+class=\"rating\">([^<]+)<span>/",$str,$o);
print_r($o);
[/code]
답변을 작성하려면 로그인이 필요합니다.