Beautiful Soup 4, сравнение html-парсеров при запуске в потоке - Python
Формулировка задачи:
Здравствуйте, спарсил страницу с помощью lxml, встроенного в Beautiful Soup - выдал 30 секунд. Не поверил, начал искать ошибки и оптимизировать. Ничего конкретного не получилось, время парсинга примерна такая же. Вспомнил, что у Beautiful Soup есть еще 2 других парсера html.parser и html5lib, в итоге их результаты:
Запуск в отдельном потоке Запуск в общей программе, без создания отдельного потока
html.parser:2 1.44
html5lib: 14 5.5
lxml: 30 1.24
И собственно вопрос, почему в потоке lxml так теряет в скорости? Хотя он считается самым быстрым
Метод запуска потока:
q-очередь, threads_count=1.
Вдруг кому-то захочется спарсить эту же страницу ради спортивного интереса: https://www.mvideo.ru/smartfony-i-svyaz/smartfony-205 . Парсить только ссылки на телефоны 1 страницы (этой). Пишите библиотеку и язык программирования для сравнения. Должен быть запрос страницы, без сохранения ее на диск, а потом ее парсинга
Решение задачи: «Beautiful Soup 4, сравнение html-парсеров при запуске в потоке»
textual
Листинг программы
2018-04-05 14:33:58,631 INFO:start 2018-04-05 14:33:59,487 INFO:parse: 12| 0.07000017166137695 | https://www.mvideo.ru/smartfony-i-svyaz/smartfony-205/f/page=7 2018-04-05 14:33:59,547 INFO:parse: 12| 0.059999942779541016 | https://www.mvideo.ru/smartfony-i-svyaz/smartfony-205/f/page=2 2018-04-05 14:33:59,617 INFO:parse: 12| 0.13000011444091797 | https://www.mvideo.ru/smartfony-i-svyaz/smartfony-205/f/page=4 2018-04-05 14:33:59,677 INFO:parse: 12| 0.12000012397766113 | https://www.mvideo.ru/smartfony-i-svyaz/smartfony-205/f/page=1 2018-04-05 14:33:59,747 INFO:parse: 12| 0.059999942779541016 | https://www.mvideo.ru/smartfony-i-svyaz/smartfony-205/f/page=10 2018-04-05 14:33:59,901 INFO:parse: 12| 0.07400035858154297 | https://www.mvideo.ru/smartfony-i-svyaz/smartfony-205/f/page=6 2018-04-05 14:34:00,001 INFO:parse: 12| 0.06000018119812012 | https://www.mvideo.ru/smartfony-i-svyaz/smartfony-205/f/page=3 2018-04-05 14:34:00,591 INFO:parse: 12| 0.07000017166137695 | https://www.mvideo.ru/smartfony-i-svyaz/smartfony-205/f/page=9 2018-04-05 14:34:00,641 INFO:parse: 12| 0.09000015258789062 | https://www.mvideo.ru/smartfony-i-svyaz/smartfony-205/f/page=8 2018-04-05 14:34:01,513 INFO:parse: 12| 0.07000017166137695 | https://www.mvideo.ru/smartfony-i-svyaz/smartfony-205/f/page=5 2018-04-05 14:34:01,513 INFO:end
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д