Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
volodia-h
2 / 2 / 5
Регистрация: 02.03.2010
Сообщений: 76
#1

Оптимизировать код парсинга страниц. Используется SimpleHtmlDom - PHP

14.02.2014, 12:07. Просмотров 731. Ответов 4
Метки нет (Все метки)

Как оптимизировать подобное:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$url2=('http://cайт1/');
$table2 = array();
$data2 = file_get_html($url2, false, $context);
 
 foreach($data2->find('tr') as $row2) {
 
     $users2 = $row2->find('td',9)->plaintext;
 
     $table2[$users2] = $users2;
    
     }
 
$url=('http://сайт2/');
$table = array();
$data = file_get_html($url, false, $context);
 
 foreach($data->find('tr') as $row) {
 
     $users = $row->find('td',9)->plaintext;
 
     $table[$users] = $users;
    
     }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2014, 12:07
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Оптимизировать код парсинга страниц. Используется SimpleHtmlDom (PHP):

Готовый код парсинга строк. Разбить строку
Всем привет. Хотелось бы готовый код для разбива строки, пример: 123;asd. Эта...

Не могу получить нужные данные средством simplehtmldom
Делаю парсер интернет магазина. категории парсятся как надо но при обращении к...

Оптимизировать код
Проверка существования переменной $_POST. Если она есть, то задаем $comm; если...

Оптимизировать код
$country = clearData ($_POST ); $city = clearData ($_POST ); $price =...

Оптимизировать код
function test($ts) { if(isset($_GET) { ...

Оптимизировать код
Всем привет, дайте совет, быть может можно как то оптимизироват? Суть того что...

4
wingblack
268 / 243 / 42
Регистрация: 09.04.2013
Сообщений: 910
14.02.2014, 13:57 #2
Наверное, нужно сказать в чем конкретно просматривается проблема.
И написать чем вы пользуетесь для поиска в DOM.
Оптимизация по поиску - наверно, только пробовать разные инструменты и сравнить. Интересно, будет ли поиск с помощью обычных функций поиска в строке быстрее чем использовать такой специальный инструмент, тем более особо сложных запросов по поиску у вас в примере не показано (хотя так будет не столь гибко).
По скачиванию - сделать функцию-обертку над CURL, и с пустой опцией CURLOPT_ENCODING (если сайт может передавать страницы сжатыми - тогда качается гораздо быстрее).
В $table2[$users2] = $users2; записывать значение $users2 в ключ считаю излишним.
1
volodia-h
2 / 2 / 5
Регистрация: 02.03.2010
Сообщений: 76
14.02.2014, 15:22  [ТС] #3
В моем варианте оптимизация состоит только в том, что б место двух
PHP
1
2
3
4
5
6
7
 foreach($data->find('tr') as $row) {
 
     $users = $row->find('td',9)->plaintext;
 
     $table[$users] = $users;
    
     }
этих блоков сделать один, который умеет парсить сайт1 и сайт2.
0
wingblack
268 / 243 / 42
Регистрация: 09.04.2013
Сообщений: 910
14.02.2014, 15:47 #4
Как-то так.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$urls = array();
$urls[]=('http://cайт1/');
$urls[]=('http://сайт2/');
$table = array();
foreach($urls as $key => $url){
 
     $data = file_get_html($url, false, $context);
 
     foreach($data->find('tr') as $row) {
 
        $table[$key][] = $row->find('td',9)->plaintext;
   
     }
}
Текста меньше, но по производительности прироста не будет.

Добавлено через 6 минут
Кстати, если мне не изменяет память, то когда я работал с SimpleHtmlDom последний раз то порой наблюдались проблемы с загрузкой страницы, и мне советовали модифицировать его чтобы он использовал CURL вместо file_get_contents, но тот проект я приостановил, так что так и не взялся переделать.
1
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
14.02.2014, 15:51 #5
SimpleHtmlDom не принуждает использовать file_get_html. Используйте cURL, передавайте код через str_get_html. Но использование cURL не обязательно даст прирост по скорости.
0
14.02.2014, 15:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2014, 15:51
Привет! Вот еще темы с решениями:

Помогите оптимизировать код
Помогите пожалуйста оптимизировать код: $text = "Наконец, самое важное,...

Где научиться оптимизировать код?
Подскажите хорошие уроки, желательно на русском, по отладке ошибок ПХП,...

Как можно оптимизировать этот код?
Как можно оптимизировать этот код? $preview = 'preview.'; $preview_url =...

нужно оптимизировать код.. долго грузится
Вобщем строк в файле порядка 30000, загрузка моим алгоритмом идёт порядка 10...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru