@YourKey

Почему при парсинге записывается 2 копии результатов (Simple html dom)?

Здравствуйте! Написал простенький парсер, который будет перебирать таблицу и записывать ссылки, по 30 ссылок на странице, а затем перелистывать страницу и записывать снова. Использовал библиотеку simple html dom с выводом в бд. Дело в том, что в таблицу записывается 2 копии строки. В php я не силен, поэтому не могу разобраться где ошибка. Прилагаю код:
<?php
include('simple_html_dom.php');
$url = "domain.ru/html?page=";

for ($i = 1; $i < 30; $i++) {
// парсим первые 30 страниц
	$html = file_get_html($url.$i) or die ("Сайт недоступен");  
	$s1 = $html->find('table',9);
		for ($n = 0; $n <=29; $n++) { // 30 строк в таблице
				// парсим ссылку из href
				$link = $s1->find('td[width=100%] a[name]',$n)->href;
				$link = str_replace('/', '', $link);
				$link = str_replace('http:', '', $link);
				$s2['link'] = $link;
				// Записываем в двумерный массив
				$datas["$link"] = $s2;
				
				
				// записываем в бд
				$sql="INSERT INTO `parse` ( link ) values
				(
				'". mysql_real_escape_string($datas["$link"]['link'])."',
				)";
				$res=mysql_query($sql);
				if (!$res) {
				die('Invalid query: ' . mysql_error());
				}			
		}
}
?>
  • Вопрос задан
  • 2643 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы