2014-04-24 1 views
1

사용하여 테이블을 근근이 살아가고,나는이 제품 표를 긁어하려고 간단한 HTML 돔

http://www.dropforyou.com/search2.php?mode=search&posted_data%5Bcategoryid%5D=2&posted_data%5Bsearch_in_subcategories%5D=on

나는 제품 ID, 수량과 가격이 필요합니다.

사이트가 쿠키와 게시 양식을 사용하므로 나는 CURL로 사이트를 잡아 내고 있습니다. 어느 것이 잘 작동합니다. 나는 그 다음 그것을 간단한 html dom에 $ html = str_get_html ($ content);

배열에 모든 테이블 값을로드 할 수 있었지만 레이블을 지정할 수 없습니다. 그들은 단지 0,1,2로 들어가서 나는 무엇이 무엇인지 말할 수 없습니다.

를 표시하지 않는

내 작업 코드가 아닌 객체() 멤버 함수 찾기에 전화 :

나는, 그러나 그것은 나에게 치명적인 오류를 제공, 유래에 여기에 게시 다른 방법을 사용하여 시도

$content = curlscraper($urltoscrape); 

$html = str_get_html($content); 

$tds = $html->find('table',2)->find('td'); 

$num = NULL; 
foreach($tds as $td) 
{ 
    $num[] = $td->plaintext; 
} 

echo '<pre>'; 
var_dump ($num); 
echo '</pre>'; 

단지 나에게 치명적인 오류를 제공 I에 유래에서 발견 코드 :

$content = curlscraper($urltoscrape); 

$html = str_get_html($content); 

foreach($html->find('tr',2) as $page) 
{ 
$item['sku'] = $page->find('td',0)->plaintext; 
$item['product'] = $page->find('td',1)->plaintext; 
$item['Qty'] = $page->find('td',2)->plaintext; 
$item['description'] = $page->find('td',3)->plaintext; 
$item['price'] = $page->find('td',4)->plaintext; 

$table[] = $item; 
} 

print_r($table); 

답변

0

에 비 객체() 멤버 함수 찾기에 전화에 대한 변수를 초기화 시도 foreach 함수를 호출 한 다음 코드를 사용하십시오. 하지만 그 라인이 그 실수를 만들었다 고 말하지는 않습니까?

$line = $html->find('tr',2); 

foreach($line as $page) 
{ 
//var_dump($page) //You can check array 
$item['sku'] = $page->find('td',0)->plaintext; 
$item['product'] = $page->find('td',1)->plaintext; 
$item['Qty'] = $page->find('td',2)->plaintext; 
$item['description'] = $page->find('td',3)->plaintext; 
$item['price'] = $page->find('td',4)->plaintext; 

$table[] = $item; 
} 
+0

$ item [ 'sku'] = $ page-> find ('td', 0) -> 일반 텍스트; – user1155594

관련 문제