Как очистить более 50 000 точек данных с динамически загружаемой веб-страницы менее чем за 24 часа? - PullRequest
1 голос
/ 18 июня 2020

Я использую селен python и мне было интересно, как можно эффективно очистить более 50 000 точек данных менее чем за 24 часа. Например, когда я ищу продукты на веб-странице insight.com, парсеру требуется около 3,5 секунд, чтобы найти продукт и получить его цену, а это означает, что при больших объемах данных парсеру требуется несколько дней. Часть от использования потоков для одновременного поиска нескольких продуктов, как еще я могу ускорить этот процесс? У меня только один ноутбук, и мне придется одновременно очищать шесть других похожих веб-сайтов, поэтому я не хочу слишком много потоков, и скорость, с которой работает компьютер, значительно снизится. Как людям удается очистить большие объемы данных за такие короткие промежутки времени?

Ответы [ 2 ]

2 голосов
/ 18 июня 2020

Если вы прекратите использовать модуль selenium и начнете работать с гораздо более гладким и элегантным модулем, например requests, вы сможете выполнить работу за считанные минуты.

Если вам удается перепроектировать обрабатываемые запросы и отправлять их самостоятельно, вы можете связать это с потоковой обработкой, чтобы очистить примерно 50 «точек данных» в секунду, более или менее (в зависимости от некоторых факторов, таких как обработка и соединение rnet скорость).

0 голосов
/ 31 августа 2020

Найдите API и используйте его !!! Целью как веб-скрапинга, так и API-интерфейсов является доступ к веб-данным.

Веб-скрапинг позволяет извлекать данные с любого веб-сайта с помощью программного обеспечения для веб-скрапинга. С другой стороны, API-интерфейсы предоставляют вам прямой доступ к нужным вам данным.

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

В этом сценарии ios веб-скрейпинг позволит вам получить доступ к данным, пока они доступны на веб-сайте.

Например, вы можете использовать веб-парсер для извлечения информации о продуктах из Amazon, поскольку они не предоставляют API для доступа к этим данным. Однако, если бы у вас был доступ к API, вы могли бы получить все данные, которые хотите, супер, супер, супер быстро !!! Это аналогично выполнению запроса в базе данных on prem, что очень быстро и очень эффективно, по сравнению с обновлением веб-страницы, ожиданием загрузки ВСЕХ элементов, и вы не можете использовать данные, пока все элементы не будут загружены, а затем ..... делай то, что тебе нужно.

...