Если вы хотите узнать о рептилиях, вы должны знать самые базовые знания о рептилиях.Из чего состоит рептилия? Что умеют рептилии? Как работает краулер? Давайте учиться вместе, надеясь помочь Сяобаю в обучении.
- Определение краулеров, классификация и процесс
- http和https
определение рептилии
Веб-сканер (также известный как веб-паук, веб-робот) — это программа, которая имитирует браузер для отправки веб-запросов и получения ответов на запросы.Это программа, которая автоматически собирает информацию из Интернета в соответствии с определенными правилами. Сканеры имитируют поведение браузеров, чем больше они похожи, тем лучше, тем меньше вероятность, что их найдут. В принципе, пока браузер (клиент) может делать что угодно, сканер может это делать.
Классификация рептилий
- Общий сканер: обычно относится к сканеру поисковой системы.
- Сосредоточьтесь на сканерах: сканеры для определенных веб-сайтов
Использование рептилий
- скачать вип музыку
- скачать вип фильм
- 12306 билетов
- Автоголосование на сайте
- СМС-бомбардировка
и т.д.
Процесс рептилий
- Отправьте запрос на стартовый URL и получите ответ
- Извлечь ответ
- Если URL-адрес извлечен, продолжайте отправлять запрос, чтобы получить ответ.
- Если данные извлекаются, данные сохраняются
протокол роботов
Соглашение о роботах: веб-сайт сообщает поисковой системе, какие страницы можно сканировать, а какие нельзя сканировать с помощью соглашения о роботах, но это только ограничение на моральном уровне, например: соглашение о роботах Taobao.
Концепция HTTP
HTTP (протокол передачи гипертекста) — это протокол связи модели клиент/сервер на прикладном уровне, который состоит из запросов и ответов и не имеет состояния.
Протокол: протокол определяет формат передачи данных, который должны соблюдать обе стороны связи, чтобы стороны связи могли точно общаться в соответствии с согласованным форматом.
Без сохранения состояния: Без состояния означает, что между двумя понятными сообщениями нет связи, каждый раз это новое соединение, и сервер не будет записывать информацию о запросе до и после.
Поток HTTP-запросов
- Браузер получает IP-адрес через сервер разрешения доменных имен (DNS).
- Браузер сначала инициирует запрос к IP и получает соответствующий
- В возвращаемом содержимом ответа (html) будут URL-адреса, такие как css, js, изображения и коды ajax, и браузер будет отправлять другие запросы последовательно в соответствии с порядком в содержимом ответа и получать соответствующий ответ.
- Каждый раз, когда браузер получает ответ, он добавляет (загружает) отображаемые результаты, js, css и другой контент будут изменять содержимое страницы, а также js может повторно отправить запрос для получения ответа.
- От получения первого ответа и его отображения в браузере до окончательного получения всех ответов и добавления содержимого или изменения отображаемых результатов — этот процесс называется рендерингом в браузере.
Пятиуровневая сетевая модель
Схема структуры протокола HTTP
Соответствие сетевой модели
- HTTP, RTSP, FTP -------> прикладной уровень
- TCP, UDP -------> транспортный уровень
- IP -------> сетевой уровень
- Канал передачи данных -------> Уровень канала передачи данных
- Физическая среда -------> физический уровень
формат URL-адреса
Спецификация формата: схема://хост[:порт]/путь/…/[?строка-запроса][#якорь]
- схема: протокол (например: http, https, ftp)
- host: IP-адрес или доменное имя сервера
- порт: порт сервера (если это порт протокола по умолчанию, порт по умолчанию — 80)
- путь: путь для доступа к ресурсу
- query-string: параметр, данные, отправляемые на http-сервер
- привязка: привязка (перейти к указанной якорной позиции веб-страницы)
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