Здравствуйте! Написал простенький парсер, который будет перебирать таблицу и записывать ссылки, по 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());
}
}
}
?>