2010-08-09 3 views
1

Я вхожу в Craigslist с CURL, чтобы очистить статус моих опубликованных объявлений. Проблема, с которой я сталкиваюсь, - это передача HTML из вывода CURL $ в файл_get_html. Хотя статусы Craigslist на самом деле вложены внутри элементов TR, я просто хотел протестировать самые основные функции, чтобы увидеть, проходят ли вещи (например, соскабливание ссылок). Они не.Craigslist, CURL, простые вопросы PHP DOM

Например, это не работает:

$cookie_file_path = getcwd()."/cookie.txt"; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'https://accounts.craigslist.org/login?LoginType=L&step=confirmation&originalURI=%2Flogin&rt=&rp=&inputEmailHandle='.$email.'&inputPassword='.$password.'&submit=Log%20In'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_REFERER, 'http://www.craigslist.org'); 

$agent = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)"; 
curl_setopt($ch, CURLOPT_USERAGENT, $agent); 
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path); 
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path); 

$output = curl_exec($ch); 
$info = curl_getinfo($ch); 
curl_close($ch); 
echo $output; 

// 

include_once('simple_html_dom.php'); 
$html = file_get_html($output); 
//find all links 
foreach($html->find('a') as $element) 
     echo $element->href . '<br>'; 

Я знаю, что выражение работает, потому что она возвращает ссылки, если я ставлю в «http://google.com», или что-то или другое.

+0

Вы уверены, что Curl правильно вошли? – NullUserException

+0

Абсолютно положительный. На эхо-выходе выводится страница моей учетной записи. – 2010-08-09 16:32:42

ответ

0

Разве вы не должны использовать str_get_html вместо file_get_html? Поскольку $ ouput - это строка!

1

Это то, как это должно быть сделано

$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, 'http://www.sitename.com'); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10); 
$str = curl_exec($curl); 
curl_close($curl); 

$html= str_get_html($str); 
Смежные вопросы