Официальный флагманский магазин Python Web Clawlers от входа к практике Zhuang Peijie Веб -производство Профессиональная технология Индустрия электроники Пресса Синьхуа Книжный магазин подлинные книги

Вес товара: ~0.7 кг. Указан усредненный вес, который может отличаться от фактического. Не включен в цену, оплачивается при получении.
Описание товара
- Информация о товаре
- Фотографии

В этой книге объясняется, как использовать Python для написания веб-сканеров, рассматриваются концепция сканеров, основы веб-технологий, Chrome, Charles и захват пакетов Packet Capture, urllib, библиотека запросов Requests, lxml, Beautiful Soup, анализ данных регулярных выражений, CSV, Excel, MySQL, Redis, хранилище данных MongoDB, ответная стратегия защиты от сканеров, использование и развертывание платформы сканера Scrapy и примеры приложений.Эта книга имеет четкую структуру, краткое содержание, типичные и практические примеры кода и содержит решения проблем, возникающих на практике.Он очень подходит для начинающих и продвинутых читателей Python.

Каталог
Глава 1. Концепция сканера Python и основы Интернета 1
1.1 Концепция гусеничного двигателя 1
1.1.1 Что такое краулер 1
1.1.2 Представление сценариев использования сканера 2
1.1.3 Компоненты гусеницы 3
1.1.4 Запрос моделирования 3
1.1.5 Анализ данных 4
1.1.6 Сохранение данных 5
1.1.7 Маршрут 5 обучения сканера
1.2 Краткое введение в HTTP 6
1.2.1 Кратко опишите процесс сетевого запроса 6
1.2.2 URI и URL 7
1.2.3 Сообщение HTTP-запроса 8
1.2.4 Ответное сообщение HTTP 10
1.3 Состав веб-страниц 13
1.3.1 Введение в HTML 13
1.3.2 Введение в CSS-селекторы 16
1.3.3 Введение в JavaScript 17
Глава 2 Использование базовой библиотеки сканера Python 18
2.1 Подробное объяснение захвата пакетов Chrome 18
2.1.1 Controls 20
2.1.2 Filter 21
2.1.3 Request Table 21
2.2 Подробное объяснение библиотеки urllib 23
2.2.1 Отправить запрос 23
2.2.2 Захват двоичных файлов 24
2.2.3 Моделирование запросов GET и POST 25
2.2.4 Изменение заголовка запроса 26
2.2.5 Установка таймаута соединения 27
2.2.6 Задержка в предоставлении данных 27
2.2.7 Настройка прокси 27
2.2.8 Cookie 28
2.2.9 Модуль urllib.parse 29
2.2.10 Модуль обработки исключений urllib.error 31
2.2.11 модуль urllib.robotparser 32
2.3 Использование библиотеки lxml для анализа узлов веб-страницы 34
2.3.1 Установка библиотеки 34
2.3.2 Быстрый синтаксис XPath 34
2.4 Практический бой: ползание по роману «Романс о трёх королевствах» 36
Глава 3. Захват пакетов и анализ данных сканером Python 41
3.1 Расширенный захват пакетов 41
3.1.1 Введение в HTTPS 42
3.1.2 Рабочий процесс HTTPS 43
3.1.3 Захват пакетов Чарльза 43
3.1.4 Захват пакетов 49
3.2 Запрашивает библиотеку HTTP-запросов 52
3.2.1 Знакомство с библиотекой запросов 53
3.2.2 Запросы базовых HTTP-запросов 53
3.2.3 Запросы запрашивают общие настройки 54
3.2.4 Обработка запросов возвращает результаты 54
3.2.5 Запросы на обработку файлов cookie 55
3.2.6 Перенаправление запросов и история запросов 55
3.2.7 Обработка ошибок запросов и исключений 55
3.2.8 Запросы объекта сеанса сеанса 55
3.2.9 Запрашивает проверку SSL-сертификата 56
3.3 Практический бой: сканирование изображений, аудио и видео в статьях WeChat 56
3.3.1 Сканирование заголовков 56
3.3.2 Сканирование изображений 57
3.3.3 Сканирование аудио 58
3.3.4 Сканирование видео 60
3.3.5 Организация кода 64
3.4 Библиотека разбора Beautiful Soup 67
3.4.1 Знакомство с Beautiful Soup 67
3.4.2 Создание экземпляра объекта Beautiful Soup 67
3.4.3 Четыре основных объекта Beautiful Soup 68
3.4.4 Различные узлы Beautiful Soup 69
3.4.5 Поиск в дереве документов Beautiful Soup 69
3.4.6 Beautiful Soup с использованием селекторов CSS 70
3.5 Практический бой: сканирование обоев с сайтов обоев 70
3.6 Регулярные выражения 74
3.6.1 по модулю 74
3.6.2 Подробное объяснение обычных правил 75
3.6.3 Регулярные учения 77
3.7 Практический бой: просмотр списка муниципальных кодов 79
3.7.1 Получить список ссылок для всех муниципалитетов 80
3.7.2 Анализ таблицы для получения всех ссылок на погоду на уровне города 81
3.7.3 Извлечение муниципального кодекса 82
3.7.4 Интеграция кода корректировки 83
Глава 4. Хранение данных в форматах CSV и Excel 85
4.1 Использование файлов CSV для хранения данных 85
4.1.1 Запись CSV 86
4.1.2 Чтение CSV 87
4.2 Практический бой: гороскоп ползания 88
4.3 Использование файлов Excel для хранения данных 89
4.3.1 Написание Excel 89
4.3.2 Excel читает 90
4.4 Практический бой: сканирование рейтингов определенной музыкальной платформы 91
Глава 5. Использование базы данных для хранения данных 99
5.1 База данных MySQL 99
5.1.1 Установка MySQL 100
5.1.2 Установка MySQL 100 в среде Windows
5.1.3 Настройка переменной среды MYSQL_HOME в среде Windows 101
5.1.4 Установка пароля для входа в MySQL в среде Windows 101
5.1.5 Запуск или завершение работы службы MySQL в среде Windows 102
5.1.6 Среда Mac 103
5.1.7 Среда Ubuntu 103
5.1.8 Основные операции MySQL 104
5.1.9 Краткое руководство по синтаксису базы данных MySQL 106
5.1.10 Python подключается к базе данных MySQL 110
5.1.11 Специальные символы MySQL и проблемы с выражениями 114
5.1.12 Практический бой: сканирование данных с технического сайта 115
5.2 Инструмент визуализации базы данных DataGrip 122
5.2.1 Установление ассоциации с базой данных 122
5.2.2 Написание операторов SQL 123
5.2.3 Часто задаваемые вопросы: подключение к удаленному хосту 124
5.3 База данных Redis 125
5.3.1 Установка Redis 126
5.3.2 Установка библиотеки redis-py 130
5.3.3 примеры основных операций redis-py 130
5.3.4 Практический бой: просканируйте видеозаграждения и сохраните их в Redis 134
5.4 База данных MongoDB 137
5.4.1 Установка MongoDB 137
5.4.2 Установка библиотеки PyMongo 140
5.4.3 Примеры основных операций PyMongo 140
5.4.4 Практический бой: просканируйте результаты поиска по ключевым словам на веб-сайте электронной коммерции и сохраните их в MongoDB 144.
Глава 6. Python реагирует на стратегии защиты от сканирования 148
6.1 Обзор антикраулера 148
6.1.1 Почему появляются антикраулеры 149
6.1.2 Общие бои с гусеницами и антигусеницами 149
6.2 Стратегия защиты от краулеров 150
6.2.1 Ограничение пользовательского агента 150
6.2.2 302 редирект 151
6.2.3 Ограничения по IP 151
6.2.4 Что такое сетевой прокси 151
6.2.5 Как получить прокси IP 151
6.2.6 ADSL-прокси-сервер коммутируемого доступа 152
6.2.7 Squid настройка прокси-кэш-сервера 156
6.2.8 TinyProxy настраивает прокси-кеш-сервер 158
6.2.9 Ограничения использования файлов cookie 159
6.3 Стратегия защиты от сканирования JavaScript 159
6.3.1 Динамическая загрузка данных Ajax 159
6.3.2 Практический бой: сканирование и анализ содержимого определенной материальной сети 159
6.3.3 Анализ запроса данных 160
6.3.4 Написание кода 163
6.4 Selenium имитирует операции браузера 166
6.4.1 Знакомство с Selenium 166
6.4.2 Установка Selenium 167
6.4.3 Общие функции Selenium 168
6.5 Практические действия: сканирование определенных изображений веб-сайта 172
6.6 PhantomJS 175
6.6.1 Установка PhantomJS в Windows 175
6.6.2 Установка PhantomJS на Mac 175
6.6.3 Установка PhantomJS в Ubuntu 176
6.6.4 Важные замечания о PhantomJS 176
6.7 Общие стратегии кодов проверки 176
6.7.1 Код проверки изображения 177
6.7.2 Практический бой: реализация автоматического входа в систему с кодом подтверждения изображения 178
6.7.3 Практический бой: реализация автоматического входа в систему со скользящим кодом проверки 185
Глава 7. Среда сканирования Python Scrapy (Часть 1) 196
7.1 Введение и установка Scrapy framework 197
7.1.1 Информация, связанная с Scrapy 197
7.1.2 Scrapy-установка 197
7.2 Практический бой: сканирование ежедневных обоев веб-сайта 199
7.2.1 Анализ целей сканирования 199
7.2.2 Создание сценария искателя 201
7.2.3 Написание скриптов сканера 202
7.2.4 Запуск сценария искателя 203
7.2.5 Анализ данных 203
7.3 Введение в архитектуру Scrapy 204
7.3.1 Схема Scrapy-архитектуры 204
7.3.2 Процесс взаимодействия между различными модулями 205
7.3.3 Персонифицированная диалоговая версия процесса сотрудничества 206
7.4 Подробное объяснение Паука 207
7.4.1 Основные атрибуты и функции Spider 207
7.4.2 Процесс запуска паука 207
7.5 Класс запроса и класс ответа 209
7.5.1 Подробное объяснение запроса 209
7.5.2 Общие параметры, методы и подклассы класса ответа 210
7.5.3 Селекторы 211
7.5.4 Scrapy Shell 212
7.6 Подробное объяснение пункта 213
7.7 Подробное объяснение конвейера элементов 213
7.7.1 Класс трубопровода 213 по индивидуальному заказу
7.7.2 Включение конвейера элементов 214
7.8 Практический бой: совершенствуйте скрипт для обхода ежедневных обоев 214
7.8.1 Определение BingItem 215
7.8.2 Использование конвейера изображений 215
7.8.3 Изменение кода Spider 216
7.8.4 Запуск сценария искателя 216
7.9 Настройка заголовков запроса 217
7.9.1 Передача 217 при построении запроса
7.9.2 Изменение файла settings.py 217
7.9.3 Добавление поля custom_settings в искатель 218
7.10 Подробное объяснение промежуточного программного обеспечения загрузки 218
7.10.1 Промежуточное программное обеспечение специального загрузчика, класс 218
7.10.2 Включение специального промежуточного программного обеспечения для загрузки прокси 219
7.11 Практический бой: сканирование картинок с канала рисования определенного сайта 219
7.11.1 Анализ просканированных сайтов 219
7.11.2 Создайте новый проект и уточните цели сканирования 221
7.11.3 Создание сканера для сканирования веб-страниц 221
7.11.4 Настройка прокси 223
7.11.5 Анализ данных 223
7.11.6 Сохранение данных 224
7.11.7 Улучшение кода 226
Глава 8. Среда сканирования Python Scrapy (часть 2) 228
8.1 Scrapy стыковка с Selenium 228
8.1.1 Как подключить 228
8.1.2 Пример стыковки: сканирование статей на главной странице сайта 229
8.2 Практический бой: используйте Scrapy для реализации простого пула прокси 232
8.2.1 Проектирование пула прокси 232
8.2.2 Создание проекта 232
8.2.3 Написание сканера для получения IP 233
8.2.4 Написание сканера для обнаружения IP 238
8.2.5 Написание планировщика 240
8.2.6 Написать интерфейс для получения прокси IP 241
8.2.7 Использование прокси 243
8.3 Планирование Scrapy 243 с помощью Scrapyrt
8.3.1 Сопутствующая документация и установка Scrapyrt 243
8.3.2 Параметры, связанные с запросом Scrapyrt GET 244
8.3.3 Параметры, связанные с запросом POST Scrapyrt 246
8.4 Развертывание Scrapy с помощью Docker 246
8.4.1 Знакомство с Docker 246
8.4.2 Загрузите и установите Docker 247
8.4.3 Создание Dockerfile 249
8.4.4 Создание образа Docker 250
8.4.5 Отправьте сгенерированный образ Docker в Docker Hub 251.
8.4.6 Запуск образа Docker на облачном сервере 253
Глава 9. Пример анализа данных: рынок труда Python 254
9.1 Сканирование данных 254
9.2 Библиотека NumPy и библиотека pandas 258
9.2.1 Массив ndarray 259
9.2.2 Общие операции с массивом ndarray 260
9.2.3 библиотека панд 263
9.3 Визуализация данных с помощью Matplotlib 268
9.3.1 Искаженная китайская проблема Matplotlib 269
9.3.2 Чертеж Matplotlib отображается не полностью 270
9.3.3 Использование Matplotlib для создания диаграмм и их анализа 271
9.4 Использование библиотеки Wordcloud для рисования облака слов 275
9.4.1 Знакомство с Wordcloud 275
9.4.2 Конструктор Wordcloud и распространенные методы 276
9.4.3 Рисунок облака слов 277
9.5 Резюме 280
Глава 10. Случай анализа данных: анализ ситуации знакомств на сайте о браке 281
10.1 Сканирование данных 281
10.2 Установка ноутбука Jupyter 287
10.3 Установка pyecharts 288
10.4 Анализ данных 289
10.4.1 Чтение данных в файлах CSV 289
10.4.2 Анализ высоты 290
10.4.3 Анализ академической квалификации 292
10.4.4 Анализ возраста 292
10.4.5 Анализ городов 294
10.4.6 Анализ заявлений о дружбе 294
10.5 Резюме 296

Чжуан Пейцзе, эксперт по блогам CSDN, занял 146-е место с числом посещений 1625W+ и является отличным автором колонки для программистов Jianshu. Я занимаюсь разработкой программирования более 10 лет и знаком со всеми аспектами Python, особенно хорошо разбираюсь в сканерах Python и анализе данных.В настоящее время он является старшим инженером Python в компании Siko Education Investment and Development (Shenzhen) Co., Ltd.

1. Младшие инженеры-сканеры Python 2. Начинающие веб-сканеры Python и студенты смежных специальностей в колледжах и университетах 3. Учебные заведения Python как экспериментальные учебные материалы 4. Читатели, имеющие опыт работы с другими языками программирования и желающие изучить сканеры Python

