Соскребание с PHP cURL и XPath, как ускорить процесс? - PullRequest
1 голос
/ 25 июля 2011

В настоящее время я использую PHP cURL и XPath, но это очень медленно.

У каждого веб-сайта есть много URL-адресов со многими подстраницами, использующими Javascript.

На одном сайте было бы 30 категорийпродуктов, и каждая категория содержит около 70 подстраниц с 10 элементами на каждой.

В общей сложности я рассматриваю около 150 веб-страниц с указанным выше.

Один сценарий занимает один веб-сайт и очищает все URL-адреса с этогоПервая страница в то время.В то же время выполняется другой сценарий, выполняющий ту же процедуру.

Каждый сценарий получает один URL-адрес, извлекает данные в переменную и затем очищается с использованием XPath, а затем значения сохраняются в БД.

На многих страницах используется Javascript с Microsoft ASP.NET Viewstate, поэтому для перехода со страницы 1 на страницу 2 и т. Д. Необходимо выполнить много циклов и т. Д.

Один сценарий может работать около 2 часовполучать все с одного веб-сайта.

Что можно сделать, чтобы ускорить процесс?

Я думал о том, чтобы сделать то же самое, что и выше, но только сначала сохранять каждую страницу локально, а затем, когда каждыйстраница с одного веб-сайта хранится, затем очистите их.

Кто-нибудь с большим опытом в этом?Javascript / viewstate должен быть принят во внимание, поэтому я не могу просто сначала все увидеть.

1 Ответ

0 голосов
/ 25 июля 2011

Вы можете использовать mutli-curl для одновременной загрузки нескольких страниц.Если вы хотите, вы можете запросить все 30 страниц категорий в одном многократном запросе.Для обработки каждой страницы вы можете использовать разветвление (pctl_fork).Комбинируя эти две технологии, центральный процессор / сеть вашего компьютера могут стать узким местом.

...