Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 585936|Ответ: 70

[Консольная программа] .net/c# Путь к оптимизации веб-краулера

  [Скопировать ссылку]
Опубликовано 19.04.2018 14:21:02 | | | |
0x00

Паутиновый краунер (также известный как паутиновый бот, паутинный бот, более часто называемый паутиной в сообществе FOAF) — это программа или скрипт, который автоматически собирает информацию о Всемирной паутине согласно определённым правилам. Другие менее часто используемые названия включают муравьёв, автоиндексы, симуляторы или червей.

0x01

Проще говоря, краулеры собирают данные по своим правилам, анализируют собранные данные и затем получают полезные данные для себя.

0x02

Оптимизация веб-краулеров может быть разделена на два этапа:

1: Оптимизировать при скрапинге данных;

2: Оптимизировать обработку результатов захвата;

Сегодня мы говорим только об оптимизации процесса скрапинга!

0x03

Я кратко изложил несколько моментов об оптимизации в процессе сканирования:

1: Его можно оптимизировать по физическому адресу, например: целевым ресурсным сервером является хост Tencent Cloud в Шанхае, мы пытаемся выбрать сервер в том же регионе, то есть сервер в регионе Шанхая, не выбираем сервер в Пекине, Циндао и других регионах, но также пытаемся выбрать сервер в той же компьютерной комнате IDC, мы знаем, что этот ресурсный сайт — сервер Tencent Cloud, мы стараемся разместить краулер на сервере Tencent Cloud, а не на сервере Alibaba Cloud!

2: Выбирайте стабильную и быструю сеть, обычно краулеры требуют высокие требования к качеству сети, старайтесь не использовать домашнюю сеть, выбирайте корпоративную сеть или покупайте сервер для сбора данных.

3: Выберите более эффективный язык краулера, я слышал, что python лучше работает с краулерами, но я им не пользовался, и позже протестирую, сегодня я в основном объясняю это на языке .net.

0x04

Для таких вещей, как спешная покупка, требования к скорости захвата высоки, это можно описать как вопрос времени, рано получить данные, повысить вероятность захвата, ниже я написал демонстрацию с консолью, тест на получение данных с этого сайта, как показано на рисунке ниже:


(Чем короче время, тем быстрее)

Приведённые выше рейтинги данных:1: Нативно оптимизированный код, 2: Нативный код, 3: Сторонние плагины DLL (пакеты)

0x05

Почему сторонние плагины (пакеты) занимают больше всего времени? Сторонние плагины — это на самом деле большое количество инкапсуляций родного кода, большое количество логических суждений и относительно универсальность, что может приводить к медленной скорости ползания.

Вот родной код:



Родной код находится всего на несколько строк сверху.Среднее время всё равно составляет 184 миллисекунды,Чем проще код, тем сложнее его оптимизироватьСчитаете ли вы, как можно оптимизировать вышеуказанный код для достижения среднего времени 99 миллисекунд?Разница в скорости удвоена!

0x06

Если целевой сервер ресурсов поддерживает сжатие gzip, когда мы заходим на сайт и браузер запрашивает его, заголовок запроса будет иметь следующие параметры:

Параметры заголовка ответа:






Введение в «Accept-Encoding»: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding

Простыми словами:

Клиент говорит:Я поддерживаю алгоритм сжатия «gzip, deflate, sdch, br», вы можете использовать что угодно при возврате данных.

Сервер сказал:Я поддерживаю алгоритм сжатия gzip, поэтому буду использовать алгоритм gzip для сжатия данных до вас

Клиент говорит:Хорошо, тогда я расшифрую полученные данные с помощью алгоритма gzip

алгоритм gzip, который может сжимать передаваемые данные и значительно уменьшать их содержание, что повышает эффективность запроса, поэтому оптимизированный код выглядит следующим образом:


Хотя это небольшая деталь, можно сказать, что эффективность удвоена! Это эквивалентно данным, собранным за два дня, а теперь их можно собрать за один день, и эта статья посвящена друзьям, которые изучают скраулирование.

Примечание: алгоритм сжатия gzip никак не связан с языком программирования!

Наконец, приложите исходный код:

Туристы, если вы хотите увидеть скрытое содержание этого поста, пожалуйстаОтвет

Счёт

Количество участников2МБ+1 способствовать+2 Коллапс причина
CONNTFS + 1 Очень мощно!
Маленький новичок, который любит учиться + 1 + 1 Поддержите владельца в хорошем посте, и я тоже выложу хороший пост!

Смотреть все рейтинги





Предыдущий:Появляются отчёты о новичках в международной практике
Следующий:.net/c# Руководство по системе распознавания CAPTCHA следующего поколения 2.3
Опубликовано 31.12.2019 10:48:25 |
Сяобай не мог пострадать. Существует ли программное обеспечение, похожее на сбор больших данных в один клик?
Опубликовано 10.06.2019 14:11:09 |
Сяобай не мог пострадать. Существует ли программное обеспечение, похожее на сбор больших данных в один клик?
Опубликовано 15.10.2019 10:29:57 |
ГАНДЖУЭТИНХАОВАНДЕ КАНН
Опубликовано 20.04.2018 12:35:21 |
Спасибо, что поделились
Опубликовано 25.04.2018 11:33:55 |
Коллекция — может быть полезной.
Опубликовано 17.05.2018 18:02:21 |
Коллекция оптимизации веб-краулеров «Путь к веб-краулерам»
Опубликовано 18.05.2018 16:10:57 |
Оооо
Опубликовано 18.07.2018 14:43:07 |
Посмотрим, сработает ли это
Опубликовано 20.07.2018 10:09:50 |
ДАДАСДСАДСАД
Опубликовано 13.08.2018 13:06:50 |
Посмотрите этот исходный код
Опубликовано 20.08.2018 14:00:52 |

Спасибо, что поделились
Опубликовано 30.08.2018 11:42:26 |
srkskrskrskrskrskr
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com