SlideShare a Scribd company logo
1 of 10
Анализируем серверные логи
на волосатой коленке c Python
и другие штуки
Виктор Дюбуа
Логи - журнал, в который записывается информация о работе программы. Цели у
логирования могут быть разные, но чаще всего они нужны для контроля корректности
работы этой программы и поиска ошибок.
На вашем сервере могут храниться разные типы логов (логи БД, логи ошибок, почтовые
логи и т.д.), но нас интересуют access logs.
access.log - файл, в который пишется информация обращений к вашему сайту в
хронологическом порядке.
В error.log, соответственно, пишутся ошибки.
При этом на сервере может быть отключено логирование или ограничено какими-то
конкретными событиями или периодами времени (привет любителям дешевых Shared
хостингов).
Коротенечко про серверные логи
Где искать файл логов, его структура
access.log обычно можно найти на сервере в папке /logs/:
в корневой директории пользователя, в директории /var/ или /home/, в корне директории самого
сайта.
Типичная строка в access.log выглядит следующим образом:
1 - IP, с которого пришел запрос. 2 - дата и время запроса. 3 - тип запроса (link). 4 - URL запроса.
5 - код состояния HTTP (он же код ответа сервера). 6 - количество отданных сервером байт.
7 - Referrer (источник, инициатор) запроса. 8 - User-Agent
Что не так с логами и причем тут Python?
Логи содержат много мусора.
Чаще всего они разбиты на
несколько файлов по дням в .gz
архивах.
По сути это текстовый файл, где 1
строка = 1 запрос к серверу. Таких
строк на может быть много млн.
В логах содержатся сырые данные,
работа с которыми может исказить
наши выводы.
Python помогает
1. собрать все разрозненные данные в 1
файл;
2. извлечь из логов только нужную нам
информацию;
3. откинуть мусор в виде некорректно
записанных строк (да, и такое бывает)
или ложных запросов;
4. классифицировать, кластеризовать,
изменить или дополнить данными из
других источников;
5. визуализировать полученные данные
для получения ответов на наши вопросы.
Алгоритм работы с логами на Python
1. Собираем логи в один файл
2. Чистим от мусора или ненужных
данных, преобразуем и
запихиваем .csv файл.
3. Проводим дополнительную
кластеризацию (например, URL
по маске).
4. Получаем недостающие данные.
5. Анализируем доступными
инструментами.
Можно! Но в большинстве случаев это будет стоить 💰
● Tableau($)
● Kibana($) от Elastic или ее SaaS аналог - logz.io ($)
● JetOctopus ($)
● Screaming Frog SEO Log File Analyser($)
● PowerBI, Google Data Studio, Excel
● и еще огромное количество древнего и не очень софта
Большинство софта создано для визуализации данных (любых). И нам все еще нужно сделать
препроцессинг этих данных перед загрузкой.
➕ ВСЕГДА стороннее решение не сможет в полной мере соответствовать вашим хотелкам, если
“ваши вкусы очень специфичны, мистер Грей”
А можно не на Python?
Для работы нам понадобятся:
1. Python 3.7.x и старше (рекомендую сборку Anaconda). При установке прожимаем
галочку возле “abracadabra PATH”.
2. Сторонние библиотеки: pandas, matplotlib, ipaddress, shutil. Пишем в консоли:
pip install pandas, matplotlib, socket, ipaddress
Если выберете Anaconda, то большинство этих библиотек уже будет в сборке.
3. Редактор кода (Notepad++, Atom) или IDE (PyCharm) или Jupyter Notebook.
4. Датасет, он же файл(ы) серверных логов.
5. Руки или их аналоги, расположенные желательно не ниже талии.
Перед стартом
Приступим
1. Серверные логи - это не страшно и полезно
2. Python - это добро
3. Сырые данные - нужно готовить
4. Эмпирические исследования - наше все!
…
print(‘Hello world!’)
...
5. А еще:
- Googlebot не всегда Googlebot
- В логах можно найти URL, о которых не знает ваш краулер, но знает бот
ПС
- URL с кодом 200 не всегда URL с кодом 200 :)
Выводы
Виктор Дюбуа aka Drkwng Dck
Люблю работать с данными, пишу в TG
Спасибо за внимание!
https://www.facebook.com/victorduboisme/
https://t.me/drkwng
https://github.com/drkwng
iamdrkwng@gmail.com

More Related Content

Similar to Анализируем серверные логи на волосатой коленке c Python

Log4j Logging Mechanism
Log4j Logging MechanismLog4j Logging Mechanism
Log4j Logging MechanismKunal Dabir
 
Jamie Alberico — How to Leverage Insights from Your Site’s Server Logs | 5 Ho...
Jamie Alberico — How to Leverage Insights from Your Site’s Server Logs | 5 Ho...Jamie Alberico — How to Leverage Insights from Your Site’s Server Logs | 5 Ho...
Jamie Alberico — How to Leverage Insights from Your Site’s Server Logs | 5 Ho...Semrush
 
Software Engineering - RS4
Software Engineering - RS4Software Engineering - RS4
Software Engineering - RS4AtakanAral
 
Centralized logging system using mongoDB
Centralized logging system using mongoDBCentralized logging system using mongoDB
Centralized logging system using mongoDBVivek Parihar
 
Improving your team’s source code searching capabilities
Improving your team’s source code searching capabilitiesImproving your team’s source code searching capabilities
Improving your team’s source code searching capabilitiesNikos Katirtzis
 
Improving your team's source code searching capabilities - Voxxed Thessalonik...
Improving your team's source code searching capabilities - Voxxed Thessalonik...Improving your team's source code searching capabilities - Voxxed Thessalonik...
Improving your team's source code searching capabilities - Voxxed Thessalonik...Nikos Katirtzis
 
Monitoring your Python with Prometheus (Python Ireland April 2015)
Monitoring your Python with Prometheus (Python Ireland April 2015)Monitoring your Python with Prometheus (Python Ireland April 2015)
Monitoring your Python with Prometheus (Python Ireland April 2015)Brian Brazil
 
Sumo Logic "How to" Webinar: Advanced Analytics
Sumo Logic "How to" Webinar: Advanced AnalyticsSumo Logic "How to" Webinar: Advanced Analytics
Sumo Logic "How to" Webinar: Advanced AnalyticsSumo Logic
 
Advanced Web Scraping or How To Make Internet Your Database #seoplus2018
Advanced Web Scraping or How To Make Internet Your Database #seoplus2018Advanced Web Scraping or How To Make Internet Your Database #seoplus2018
Advanced Web Scraping or How To Make Internet Your Database #seoplus2018Esteve Castells
 
How to Use OWASP Security Logging
How to Use OWASP Security LoggingHow to Use OWASP Security Logging
How to Use OWASP Security LoggingMilton Smith
 
支撐英雄聯盟戰績網的那條巨蟒
支撐英雄聯盟戰績網的那條巨蟒支撐英雄聯盟戰績網的那條巨蟒
支撐英雄聯盟戰績網的那條巨蟒Toki Kanno
 
SEO for Large/Enterprise Websites - Data & Tech Side
SEO for Large/Enterprise Websites - Data & Tech SideSEO for Large/Enterprise Websites - Data & Tech Side
SEO for Large/Enterprise Websites - Data & Tech SideDominic Woodman
 
Python and Zope: An introduction (May 2004)
Python and Zope: An introduction (May 2004)Python and Zope: An introduction (May 2004)
Python and Zope: An introduction (May 2004)Kiran Jonnalagadda
 
First Steps in Python Programming
First Steps in Python ProgrammingFirst Steps in Python Programming
First Steps in Python ProgrammingDozie Agbo
 
Sentry (SF Python, Feb)
Sentry (SF Python, Feb)Sentry (SF Python, Feb)
Sentry (SF Python, Feb)zeeg
 

Similar to Анализируем серверные логи на волосатой коленке c Python (20)

Log4j Logging Mechanism
Log4j Logging MechanismLog4j Logging Mechanism
Log4j Logging Mechanism
 
Jamie Alberico — How to Leverage Insights from Your Site’s Server Logs | 5 Ho...
Jamie Alberico — How to Leverage Insights from Your Site’s Server Logs | 5 Ho...Jamie Alberico — How to Leverage Insights from Your Site’s Server Logs | 5 Ho...
Jamie Alberico — How to Leverage Insights from Your Site’s Server Logs | 5 Ho...
 
Software Engineering - RS4
Software Engineering - RS4Software Engineering - RS4
Software Engineering - RS4
 
Handout: 'Open Source Tools & Resources'
Handout: 'Open Source Tools & Resources'Handout: 'Open Source Tools & Resources'
Handout: 'Open Source Tools & Resources'
 
Log aggragation
Log aggragationLog aggragation
Log aggragation
 
Centralized logging system using mongoDB
Centralized logging system using mongoDBCentralized logging system using mongoDB
Centralized logging system using mongoDB
 
Improving your team’s source code searching capabilities
Improving your team’s source code searching capabilitiesImproving your team’s source code searching capabilities
Improving your team’s source code searching capabilities
 
Improving your team's source code searching capabilities - Voxxed Thessalonik...
Improving your team's source code searching capabilities - Voxxed Thessalonik...Improving your team's source code searching capabilities - Voxxed Thessalonik...
Improving your team's source code searching capabilities - Voxxed Thessalonik...
 
Introduce Django
Introduce DjangoIntroduce Django
Introduce Django
 
Monitoring your Python with Prometheus (Python Ireland April 2015)
Monitoring your Python with Prometheus (Python Ireland April 2015)Monitoring your Python with Prometheus (Python Ireland April 2015)
Monitoring your Python with Prometheus (Python Ireland April 2015)
 
Sumo Logic "How to" Webinar: Advanced Analytics
Sumo Logic "How to" Webinar: Advanced AnalyticsSumo Logic "How to" Webinar: Advanced Analytics
Sumo Logic "How to" Webinar: Advanced Analytics
 
Advanced Web Scraping or How To Make Internet Your Database #seoplus2018
Advanced Web Scraping or How To Make Internet Your Database #seoplus2018Advanced Web Scraping or How To Make Internet Your Database #seoplus2018
Advanced Web Scraping or How To Make Internet Your Database #seoplus2018
 
How to Use OWASP Security Logging
How to Use OWASP Security LoggingHow to Use OWASP Security Logging
How to Use OWASP Security Logging
 
支撐英雄聯盟戰績網的那條巨蟒
支撐英雄聯盟戰績網的那條巨蟒支撐英雄聯盟戰績網的那條巨蟒
支撐英雄聯盟戰績網的那條巨蟒
 
SEO for Large/Enterprise Websites - Data & Tech Side
SEO for Large/Enterprise Websites - Data & Tech SideSEO for Large/Enterprise Websites - Data & Tech Side
SEO for Large/Enterprise Websites - Data & Tech Side
 
Python and Zope: An introduction (May 2004)
Python and Zope: An introduction (May 2004)Python and Zope: An introduction (May 2004)
Python and Zope: An introduction (May 2004)
 
First Steps in Python Programming
First Steps in Python ProgrammingFirst Steps in Python Programming
First Steps in Python Programming
 
Learn python
Learn pythonLearn python
Learn python
 
Sentry (SF Python, Feb)
Sentry (SF Python, Feb)Sentry (SF Python, Feb)
Sentry (SF Python, Feb)
 
Beginning development in go
Beginning development in goBeginning development in go
Beginning development in go
 

Recently uploaded

basics of data science with application areas.pdf
basics of data science with application areas.pdfbasics of data science with application areas.pdf
basics of data science with application areas.pdfvyankatesh1
 
一比一原版纽卡斯尔大学毕业证成绩单如何办理
一比一原版纽卡斯尔大学毕业证成绩单如何办理一比一原版纽卡斯尔大学毕业证成绩单如何办理
一比一原版纽卡斯尔大学毕业证成绩单如何办理cyebo
 
一比一原版麦考瑞大学毕业证成绩单如何办理
一比一原版麦考瑞大学毕业证成绩单如何办理一比一原版麦考瑞大学毕业证成绩单如何办理
一比一原版麦考瑞大学毕业证成绩单如何办理cyebo
 
Artificial_General_Intelligence__storm_gen_article.pdf
Artificial_General_Intelligence__storm_gen_article.pdfArtificial_General_Intelligence__storm_gen_article.pdf
Artificial_General_Intelligence__storm_gen_article.pdfscitechtalktv
 
2024 Q2 Orange County (CA) Tableau User Group Meeting
2024 Q2 Orange County (CA) Tableau User Group Meeting2024 Q2 Orange County (CA) Tableau User Group Meeting
2024 Q2 Orange County (CA) Tableau User Group MeetingAlison Pitt
 
Generative AI for Trailblazers_ Unlock the Future of AI.pdf
Generative AI for Trailblazers_ Unlock the Future of AI.pdfGenerative AI for Trailblazers_ Unlock the Future of AI.pdf
Generative AI for Trailblazers_ Unlock the Future of AI.pdfEmmanuel Dauda
 
Formulas dax para power bI de microsoft.pdf
Formulas dax para power bI de microsoft.pdfFormulas dax para power bI de microsoft.pdf
Formulas dax para power bI de microsoft.pdfRobertoOcampo24
 
AI Imagen for data-storytelling Infographics.pdf
AI Imagen for data-storytelling Infographics.pdfAI Imagen for data-storytelling Infographics.pdf
AI Imagen for data-storytelling Infographics.pdfMichaelSenkow
 
Data Visualization Exploring and Explaining with Data 1st Edition by Camm sol...
Data Visualization Exploring and Explaining with Data 1st Edition by Camm sol...Data Visualization Exploring and Explaining with Data 1st Edition by Camm sol...
Data Visualization Exploring and Explaining with Data 1st Edition by Camm sol...ssuserf63bd7
 
2024 Q1 Tableau User Group Leader Quarterly Call
2024 Q1 Tableau User Group Leader Quarterly Call2024 Q1 Tableau User Group Leader Quarterly Call
2024 Q1 Tableau User Group Leader Quarterly Calllward7
 
Atlantic Grupa Case Study (Mintec Data AI)
Atlantic Grupa Case Study (Mintec Data AI)Atlantic Grupa Case Study (Mintec Data AI)
Atlantic Grupa Case Study (Mintec Data AI)Jon Hansen
 
一比一原版西悉尼大学毕业证成绩单如何办理
一比一原版西悉尼大学毕业证成绩单如何办理一比一原版西悉尼大学毕业证成绩单如何办理
一比一原版西悉尼大学毕业证成绩单如何办理pyhepag
 
Exploratory Data Analysis - Dilip S.pptx
Exploratory Data Analysis - Dilip S.pptxExploratory Data Analysis - Dilip S.pptx
Exploratory Data Analysis - Dilip S.pptxDilipVasan
 
Supply chain analytics to combat the effects of Ukraine-Russia-conflict
Supply chain analytics to combat the effects of Ukraine-Russia-conflictSupply chain analytics to combat the effects of Ukraine-Russia-conflict
Supply chain analytics to combat the effects of Ukraine-Russia-conflictJack Cole
 
一比一原版加利福尼亚大学尔湾分校毕业证成绩单如何办理
一比一原版加利福尼亚大学尔湾分校毕业证成绩单如何办理一比一原版加利福尼亚大学尔湾分校毕业证成绩单如何办理
一比一原版加利福尼亚大学尔湾分校毕业证成绩单如何办理pyhepag
 
The Significance of Transliteration Enhancing
The Significance of Transliteration EnhancingThe Significance of Transliteration Enhancing
The Significance of Transliteration Enhancingmohamed Elzalabany
 
Pre-ProductionImproveddsfjgndflghtgg.pptx
Pre-ProductionImproveddsfjgndflghtgg.pptxPre-ProductionImproveddsfjgndflghtgg.pptx
Pre-ProductionImproveddsfjgndflghtgg.pptxStephen266013
 
How I opened a fake bank account and didn't go to prison
How I opened a fake bank account and didn't go to prisonHow I opened a fake bank account and didn't go to prison
How I opened a fake bank account and didn't go to prisonPayment Village
 
Data Analytics for Digital Marketing Lecture for Advanced Digital & Social Me...
Data Analytics for Digital Marketing Lecture for Advanced Digital & Social Me...Data Analytics for Digital Marketing Lecture for Advanced Digital & Social Me...
Data Analytics for Digital Marketing Lecture for Advanced Digital & Social Me...Valters Lauzums
 

Recently uploaded (20)

basics of data science with application areas.pdf
basics of data science with application areas.pdfbasics of data science with application areas.pdf
basics of data science with application areas.pdf
 
一比一原版纽卡斯尔大学毕业证成绩单如何办理
一比一原版纽卡斯尔大学毕业证成绩单如何办理一比一原版纽卡斯尔大学毕业证成绩单如何办理
一比一原版纽卡斯尔大学毕业证成绩单如何办理
 
一比一原版麦考瑞大学毕业证成绩单如何办理
一比一原版麦考瑞大学毕业证成绩单如何办理一比一原版麦考瑞大学毕业证成绩单如何办理
一比一原版麦考瑞大学毕业证成绩单如何办理
 
Artificial_General_Intelligence__storm_gen_article.pdf
Artificial_General_Intelligence__storm_gen_article.pdfArtificial_General_Intelligence__storm_gen_article.pdf
Artificial_General_Intelligence__storm_gen_article.pdf
 
2024 Q2 Orange County (CA) Tableau User Group Meeting
2024 Q2 Orange County (CA) Tableau User Group Meeting2024 Q2 Orange County (CA) Tableau User Group Meeting
2024 Q2 Orange County (CA) Tableau User Group Meeting
 
Generative AI for Trailblazers_ Unlock the Future of AI.pdf
Generative AI for Trailblazers_ Unlock the Future of AI.pdfGenerative AI for Trailblazers_ Unlock the Future of AI.pdf
Generative AI for Trailblazers_ Unlock the Future of AI.pdf
 
Formulas dax para power bI de microsoft.pdf
Formulas dax para power bI de microsoft.pdfFormulas dax para power bI de microsoft.pdf
Formulas dax para power bI de microsoft.pdf
 
AI Imagen for data-storytelling Infographics.pdf
AI Imagen for data-storytelling Infographics.pdfAI Imagen for data-storytelling Infographics.pdf
AI Imagen for data-storytelling Infographics.pdf
 
Data Visualization Exploring and Explaining with Data 1st Edition by Camm sol...
Data Visualization Exploring and Explaining with Data 1st Edition by Camm sol...Data Visualization Exploring and Explaining with Data 1st Edition by Camm sol...
Data Visualization Exploring and Explaining with Data 1st Edition by Camm sol...
 
2024 Q1 Tableau User Group Leader Quarterly Call
2024 Q1 Tableau User Group Leader Quarterly Call2024 Q1 Tableau User Group Leader Quarterly Call
2024 Q1 Tableau User Group Leader Quarterly Call
 
Atlantic Grupa Case Study (Mintec Data AI)
Atlantic Grupa Case Study (Mintec Data AI)Atlantic Grupa Case Study (Mintec Data AI)
Atlantic Grupa Case Study (Mintec Data AI)
 
一比一原版西悉尼大学毕业证成绩单如何办理
一比一原版西悉尼大学毕业证成绩单如何办理一比一原版西悉尼大学毕业证成绩单如何办理
一比一原版西悉尼大学毕业证成绩单如何办理
 
Exploratory Data Analysis - Dilip S.pptx
Exploratory Data Analysis - Dilip S.pptxExploratory Data Analysis - Dilip S.pptx
Exploratory Data Analysis - Dilip S.pptx
 
Supply chain analytics to combat the effects of Ukraine-Russia-conflict
Supply chain analytics to combat the effects of Ukraine-Russia-conflictSupply chain analytics to combat the effects of Ukraine-Russia-conflict
Supply chain analytics to combat the effects of Ukraine-Russia-conflict
 
一比一原版加利福尼亚大学尔湾分校毕业证成绩单如何办理
一比一原版加利福尼亚大学尔湾分校毕业证成绩单如何办理一比一原版加利福尼亚大学尔湾分校毕业证成绩单如何办理
一比一原版加利福尼亚大学尔湾分校毕业证成绩单如何办理
 
The Significance of Transliteration Enhancing
The Significance of Transliteration EnhancingThe Significance of Transliteration Enhancing
The Significance of Transliteration Enhancing
 
Pre-ProductionImproveddsfjgndflghtgg.pptx
Pre-ProductionImproveddsfjgndflghtgg.pptxPre-ProductionImproveddsfjgndflghtgg.pptx
Pre-ProductionImproveddsfjgndflghtgg.pptx
 
Abortion pills in Dammam Saudi Arabia// +966572737505 // buy cytotec
Abortion pills in Dammam Saudi Arabia// +966572737505 // buy cytotecAbortion pills in Dammam Saudi Arabia// +966572737505 // buy cytotec
Abortion pills in Dammam Saudi Arabia// +966572737505 // buy cytotec
 
How I opened a fake bank account and didn't go to prison
How I opened a fake bank account and didn't go to prisonHow I opened a fake bank account and didn't go to prison
How I opened a fake bank account and didn't go to prison
 
Data Analytics for Digital Marketing Lecture for Advanced Digital & Social Me...
Data Analytics for Digital Marketing Lecture for Advanced Digital & Social Me...Data Analytics for Digital Marketing Lecture for Advanced Digital & Social Me...
Data Analytics for Digital Marketing Lecture for Advanced Digital & Social Me...
 

Анализируем серверные логи на волосатой коленке c Python

  • 1. Анализируем серверные логи на волосатой коленке c Python и другие штуки Виктор Дюбуа
  • 2. Логи - журнал, в который записывается информация о работе программы. Цели у логирования могут быть разные, но чаще всего они нужны для контроля корректности работы этой программы и поиска ошибок. На вашем сервере могут храниться разные типы логов (логи БД, логи ошибок, почтовые логи и т.д.), но нас интересуют access logs. access.log - файл, в который пишется информация обращений к вашему сайту в хронологическом порядке. В error.log, соответственно, пишутся ошибки. При этом на сервере может быть отключено логирование или ограничено какими-то конкретными событиями или периодами времени (привет любителям дешевых Shared хостингов). Коротенечко про серверные логи
  • 3. Где искать файл логов, его структура access.log обычно можно найти на сервере в папке /logs/: в корневой директории пользователя, в директории /var/ или /home/, в корне директории самого сайта. Типичная строка в access.log выглядит следующим образом: 1 - IP, с которого пришел запрос. 2 - дата и время запроса. 3 - тип запроса (link). 4 - URL запроса. 5 - код состояния HTTP (он же код ответа сервера). 6 - количество отданных сервером байт. 7 - Referrer (источник, инициатор) запроса. 8 - User-Agent
  • 4. Что не так с логами и причем тут Python? Логи содержат много мусора. Чаще всего они разбиты на несколько файлов по дням в .gz архивах. По сути это текстовый файл, где 1 строка = 1 запрос к серверу. Таких строк на может быть много млн. В логах содержатся сырые данные, работа с которыми может исказить наши выводы. Python помогает 1. собрать все разрозненные данные в 1 файл; 2. извлечь из логов только нужную нам информацию; 3. откинуть мусор в виде некорректно записанных строк (да, и такое бывает) или ложных запросов; 4. классифицировать, кластеризовать, изменить или дополнить данными из других источников; 5. визуализировать полученные данные для получения ответов на наши вопросы.
  • 5. Алгоритм работы с логами на Python 1. Собираем логи в один файл 2. Чистим от мусора или ненужных данных, преобразуем и запихиваем .csv файл. 3. Проводим дополнительную кластеризацию (например, URL по маске). 4. Получаем недостающие данные. 5. Анализируем доступными инструментами.
  • 6. Можно! Но в большинстве случаев это будет стоить 💰 ● Tableau($) ● Kibana($) от Elastic или ее SaaS аналог - logz.io ($) ● JetOctopus ($) ● Screaming Frog SEO Log File Analyser($) ● PowerBI, Google Data Studio, Excel ● и еще огромное количество древнего и не очень софта Большинство софта создано для визуализации данных (любых). И нам все еще нужно сделать препроцессинг этих данных перед загрузкой. ➕ ВСЕГДА стороннее решение не сможет в полной мере соответствовать вашим хотелкам, если “ваши вкусы очень специфичны, мистер Грей” А можно не на Python?
  • 7. Для работы нам понадобятся: 1. Python 3.7.x и старше (рекомендую сборку Anaconda). При установке прожимаем галочку возле “abracadabra PATH”. 2. Сторонние библиотеки: pandas, matplotlib, ipaddress, shutil. Пишем в консоли: pip install pandas, matplotlib, socket, ipaddress Если выберете Anaconda, то большинство этих библиотек уже будет в сборке. 3. Редактор кода (Notepad++, Atom) или IDE (PyCharm) или Jupyter Notebook. 4. Датасет, он же файл(ы) серверных логов. 5. Руки или их аналоги, расположенные желательно не ниже талии. Перед стартом
  • 9. 1. Серверные логи - это не страшно и полезно 2. Python - это добро 3. Сырые данные - нужно готовить 4. Эмпирические исследования - наше все! … print(‘Hello world!’) ... 5. А еще: - Googlebot не всегда Googlebot - В логах можно найти URL, о которых не знает ваш краулер, но знает бот ПС - URL с кодом 200 не всегда URL с кодом 200 :) Выводы
  • 10. Виктор Дюбуа aka Drkwng Dck Люблю работать с данными, пишу в TG Спасибо за внимание! https://www.facebook.com/victorduboisme/ https://t.me/drkwng https://github.com/drkwng iamdrkwng@gmail.com