Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 5
1

Парсинг большой html таблицы в mysql

21.11.2013, 15:55. Показов 3340. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.

Задача:
Имеется html таблица на удаленном ресурсе... нужно сделать парсинг td элементов этой таблицы в mysql.

Структура таблицы:
HTML5
1
2
3
4
<table>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
.....
+1600 строк
Собственно для парсинга я использовал библиотеку simple_html_dom.php
Написал следующий скрипт:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
set_time_limit(300);
require ('simple_html_dom.php');
 
$url = file_get_contents("http://site/region&type_export=table");
$html = str_get_html($url);
 
 foreach($html->find('tr') as $a){
       if (@$a->find('td',0)->plaintext) {
             $cell1=mysql_real_escape_string(@$a->find('td',0)->plaintext);
             $cell2=mysql_real_escape_string($a->find('td',1)->plaintext);
             $cell3=mysql_real_escape_string($a->find('td',2)->plaintext);
 
        $ins="INSERT INTO `tabless`.`all`
        (`id`,
        `date`,
        `app_id`)
       VALUES
        ('$cell1',
         '$cell2',
         '$cell3')";
 
        $query = mysql_query($ins);
        if(!$query){
            die('error');
        }
             
        }
}
Вопрос:
Скрипт работает и пишет в базу данные. Но выполняется данный скрипт 140 секунд....это довольно много для меня. Я так полагаю отрабатывает долго из за str_get_html($url).
Возможно ли как то оптимизировать скрипт, что бы он выполнялся быстрее?
Спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.11.2013, 15:55
Ответы с готовыми решениями:

Парсинг таблицы HTML
По этому коду получается вся таблциа в 1 строку string html =...

Парсинг HTML-таблицы
есть самая простая доска объявлений. В хтмле идут формы, и обработчик заносит в базу содержимое...

Вывод из таблицы MySQL записей в виде html таблицы и дальнейшая их обработка
И снова здравствуйте! На этот раз я со сложным вопросом. Мне нужно вывести определенные записи из...

Парсинг таблицы в html файле
Приветствую. Имеется кучка html-файлов следующего содержания: * &lt;tr&gt; &lt;td&gt;&lt;a...

3
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
21.11.2013, 17:01 2
попробуйте вместо file_get_contents и str_get_html использовать file_get_html('http://site/region&type_export=table'); и ещё, много зависит от соединения, возможно этот сайт долго грузится и из-за этого скрипт так долго работает
0
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 5
21.11.2013, 17:23  [ТС] 3
Цитата Сообщение от V@D!k Посмотреть сообщение
попробуйте вместо file_get_contents и str_get_html использовать file_get_html('http://site/region&type_export=table'); и ещё, много зависит от соединения, возможно этот сайт долго грузится и из-за этого скрипт так долго работает
Пробовал file_get_html('http://site/region&type_export=table'); скрипт работает 140 секунд...

По поводу соединения не думаю...удаленный сервер находится рядом. Да и если сделать:
PHP
1
2
$a = file_get_content('http://site/region&type_export=table');
echo $a;
То скрипт выполняется за 1-2 секунды и отображает всю таблицу.
0
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
21.11.2013, 17:34 4
функции str_get_html и fike_get_html строят dom дерево, так как у вас большая html страница, возможно поэтому это происходит так долго, я бы посоветовал вам использовать регулярные выражения и функцию preg_match(), она намного быстрее
0
21.11.2013, 17:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2013, 17:34
Помогаю со студенческими работами здесь

значения из html таблицы (парсинг)
Всем привет! Ребят помогите с парсингом html таблицы таблица вида &lt;td class=&quot;Date&quot;...

Парсинг данных из html-таблицы
Добрый вечер! Прошу помочь разобраться в парсинге данных из html таблицы &lt;tr&gt; &lt;th...

Вывести из таблицы MySQL все записи в виде html таблицы, не зная имена и колличество столбцов
Всем привет. Подскажите как вывести из таблицы MySQL все записи в виде html таблицы не зная имена...

Парсинг таблицы с Simple html dom
Всем доброго времени суток Использую парсера Simple html dom, для парсинга. Есть такая таблица:...

Парсинг HTML страницы, взятие данных из таблицы и импорт ее в DataGridView
Приветствую. уткнулся в стену. Надо зайти на несколько сайтов и из них вытащить таблицу, данные...

Заполнение html-таблицы данными из БД mysql
Доброго времени суток! У меня есть html-таблица и есть многомерный массив, который получает через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru