Если вы хотите изучить поисковые роботы Python, действительно ли вы понимаете основные запасы знаний поисковых роботов?

Если вы хотите узнать о рептилиях, вы должны знать самые базовые знания о рептилиях.Из чего состоит рептилия? Что умеют рептилии? Как работает краулер? Давайте учиться вместе, надеясь помочь Сяобаю в обучении.

  • Определение краулеров, классификация и процесс
  • http和https

определение рептилии

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

Классификация рептилий

  • Общий сканер: обычно относится к сканеру поисковой системы.
  • Сосредоточьтесь на сканерах: сканеры для определенных веб-сайтов

Использование рептилий

  • скачать вип музыку
  • скачать вип фильм
  • 12306 билетов
  • Автоголосование на сайте
  • СМС-бомбардировка
    и т.д.

Процесс рептилий

вставьте сюда описание изображения

  1. Отправьте запрос на стартовый URL и получите ответ
  2. Извлечь ответ
  3. Если URL-адрес извлечен, продолжайте отправлять запрос, чтобы получить ответ.
  4. Если данные извлекаются, данные сохраняются

протокол роботов

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

Концепция HTTP

HTTP (протокол передачи гипертекста) — это протокол связи модели клиент/сервер на прикладном уровне, который состоит из запросов и ответов и не имеет состояния.

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

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

Поток HTTP-запросов

вставьте сюда описание изображения

  1. Браузер получает IP-адрес через сервер разрешения доменных имен (DNS).
  2. Браузер сначала инициирует запрос к IP и получает соответствующий
  3. В возвращаемом содержимом ответа (html) будут URL-адреса, такие как css, js, изображения и коды ajax, и браузер будет отправлять другие запросы последовательно в соответствии с порядком в содержимом ответа и получать соответствующий ответ.
  4. Каждый раз, когда браузер получает ответ, он добавляет (загружает) отображаемые результаты, js, css и другой контент будут изменять содержимое страницы, а также js может повторно отправить запрос для получения ответа.
  5. От получения первого ответа и его отображения в браузере до окончательного получения всех ответов и добавления содержимого или изменения отображаемых результатов — этот процесс называется рендерингом в браузере.

Пятиуровневая сетевая модель

вставьте сюда описание изображения

Схема структуры протокола HTTP

вставьте сюда описание изображения

Соответствие сетевой модели

  1. HTTP, RTSP, FTP -------> прикладной уровень
  2. TCP, UDP -------> транспортный уровень
  3. IP -------> сетевой уровень
  4. Канал передачи данных -------> Уровень канала передачи данных
  5. Физическая среда -------> физический уровень

формат URL-адреса

вставьте сюда описание изображения

Спецификация формата: схема://хост[:порт]/путь/…/[?строка-запроса][#якорь]

  1. схема: протокол (например: http, https, ftp)
  2. host: IP-адрес или доменное имя сервера
  3. порт: порт сервера (если это порт протокола по умолчанию, порт по умолчанию — 80)
  4. путь: путь для доступа к ресурсу
  5. query-string: параметр, данные, отправляемые на http-сервер
  6. привязка: привязка (перейти к указанной якорной позиции веб-страницы)

HTTP-запрос

вставьте сюда описание изображения

формат запроса
вставьте сюда описание изображения
метод запроса

  • Согласно стандарту HTTP, HTTP-запросы могут использовать несколько методов запроса.
  • HTTP1.0 определяет три метода запроса: методы GET, POST и HEAD.
  • HTTP1.1 добавляет пять новых методов запроса: методы OPTIONS, PUT, DELETE, TRACE и CONNECT.
метод запроса описывать
ПОЛУЧАТЬ Запросите указанную информацию о странице и верните тело объекта.
ГОЛОВА Аналогичен запросу на получение, за исключением того, что в возвращаемом ответе нет конкретного содержимого, которое используется для получения заголовка.
ПОЧТА Отправьте данные на указанный ресурс для обработки запроса (например, отправка формы или загрузка файла). Данные включаются в тело запроса.
ПОЧТА Запросы могут привести к созданию новых ресурсов и/или изменению существующих ресурсов.
ПОМЕЩАТЬ Данные, отправленные с клиента на сервер, заменяют содержимое указанного документа.
УДАЛИТЬ Запрашивает сервер удалить указанную страницу.
СОЕДИНЯТЬ Зарезервировано в протоколе HTTP/1.1 для прокси-серверов, которые могут передавать соединения.
ПАРАМЕТРЫ Позволяет клиентам просматривать производительность сервера.
СЛЕД Повторяет запросы, полученные сервером, в основном для тестирования или диагностики.

Общие заголовки запросов

заголовок запроса эффект
Куки Куки
Пользовательский агент имя браузера
Ссылаться прыжок страницы
Хозяин хост и номер порта
Связь тип ссылки
Обновление-небезопасные-запросы Переход на HTTPS-запросы
Принимать тип файла передачи
Принять кодировку Формат кодека файла
x-запрошено-с: XMLHttpRequest ajax-запрос

Формат HTTP-ответа

Ответ HTTP также состоит из четырех частей, а именно: строки состояния, заголовка сообщения, пустой строки (возврат каретки + перевод строки) и тела ответа.
вставьте сюда описание изображения

заголовок ответа

заголовок ответа эффект
Расположение Этот заголовок используется с кодом состояния 302, чтобы сообщить клиенту, кого искать.
Set-Cookie Установите cookie, связанный со страницей
Тип содержимого Сервер отправляет обратно тип данных через этот заголовок
Сервер Сервер использует этот заголовок, чтобы сообщить браузеру тип сервера.
Длина содержимого Сервер использует этот заголовок, чтобы сообщить браузеру длину возвращаемых данных.
Связь Через этот заголовок сервер отвечает, следует ли сохранить соединение или закрыть соединение.

Код состояния HTTP

Когда зритель посещает веб-страницу, браузер зрителя отправляет запрос на сервер, на котором расположена веб-страница. Прежде чем браузер получит и отобразит веб-страницу, сервер, на котором находится веб-страница, вернет информационный заголовок (заголовок сервера), содержащий код состояния HTTP, в ответ на запрос браузера. Английский код состояния HTTP — это код состояния HTTP. Код состояния HTTP состоит из трех десятичных чисел. Первое десятичное число определяет тип кода состояния, а последние два числа не имеют функции классификации. Существует 5 типов кодов состояния HTTP.

Классификация Описание категории
1** Информация, сервер получает запрос и нуждается в запросчике для продолжения выполнения операции
2** Успех, операция успешно получена и обработана
3** Перенаправлено, требуются дальнейшие действия для выполнения запроса
4** Ошибка клиента, запрос содержал синтаксические ошибки или не мог быть выполнен
5** Ошибка сервера, сервер обнаружил ошибку при обработке запроса

Общие коды состояния HTTP

  • 200 - запрос выполнен успешно
  • 301 — Ресурс (веб-страница и т. д.) был навсегда перемещен на другой URL-адрес.
  • 404 - Запрошенный ресурс (страница и т.д.) не существует
  • 500 - внутренняя ошибка сервера

HTTPS

  • HTTP + SSL (Secure Sockets Layer), т. е. протокол передачи гипертекста с Secure Sockets Layer
  • Номер порта по умолчанию: 443
  • Роль HTTPS: шифровать данные во время передачи, чтобы предотвратить подделку данных промежуточными маршрутизаторами, коммутаторами и другими устройствами промежуточной маршрутизации.

Текущая форма
Примечание. В настоящее время HTTPS является основным направлением в будущем, а предоставление интерфейса клиента iOS и клиента Android требует поддержки интерфейса HTTPS.

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

Supongo que te gusta

Origin blog.csdn.net/weixin_57577264/article/details/121033127
Recomendado
Clasificación