/python-for-OSINT-21-days

In this repository you will find sample code files for each day of the course "Python for OSINT. A 21-day course for beginners".

Primary LanguagePythonMIT LicenseMIT

Python for OSINT. 21-day course for beginners

GitHub stars GitHub forks


Also you can use Notion template

Table of contents

Who Is This Course For?

Who should avoid this course?

How to take this course

Day 0. Preparing for work

Day 1. Run the first script

Day 2. Minimum Basic Syntax

Day 3. Install and run Python command line tools

Day 4. Reading and writing files

Day 5. Handling HTTP requests and working with APIs

Day 6. JSON

Day 7. CSV

Day 8. Databases

Day 9. Automate the collection of search results

Day 10. Scraping

Day 11. Regular expressions

Day 12. Proxies

Day 13. Functions for working with lists

Day 14. Working with the file system

Day 15. Domain information gathering

Day 16. List mapping and functions for work with strings

Day 17. Generating documents

Day 18. Generating charts and maps

Day 19. Wayback Machine and time/date functions

Day 20. Web apps creation

Day 21. Tools to help you work with code

What to do next

Who Is This Course For?

I'm primarily doing a course for followers of my Twitter account (https://twitter.com/cyb_detective), in which I post tweets about OSINT (Open Source Intelligence). For those who are professionally involved or just interested in open data investigations and research.

If you use (or plan to use) OSINT tools written in Python, but you're not satisfied with the standard functionality and would like to modify them a bit, this course will help you learn how to do that as quickly as possible.

Also, this course will help you to automate various routine tasks related to investigations: processing data from API, collecting data from websites, collecting search results, working with Internet archives, creating reports and data visualization.

The main goal of the course is not to teach you how to write Python code, but to teach you to spend less time on routine OSINT tasks. So, in addition to code examples, I will also give you links to different services that will help you solve different problems.

This course will also be useful for those who are far from Computer Science and want to raise their technical level a little, try to use Linux, learn to work with the command line and understand different popular IT terms like "JSON", "API", "WHOIS" etc.

Who should avoid this course?

For those who have never done OSINT and are going to do OSINT. This course consists for the most part of specialized topics related to investigation and data collection.

For those who want to learn Python in order to:

  • become a really good developer;
  • to take the exam to get into university;
  • to be interviewed for a job.

This course omits VERY many important things and sometimes even recommends what could have been called bad practice. There are things that don't matter when writing small automations for everyday OSINT tasks, but are extremely important when creating serious team projects.

How to take this course

The first thing I advise you to do is to look at the table of contents, flip through the pages of the book, and clearly decide if this course will be useful to you.

If you've made a clear decision, read one lesson each day thoughtfully and try every day to think about how you could apply what you have learned to your investigations. If you happen to miss a day or even a week, please don't scold yourself for it, but just continue the course day by day.

I also recommend that you try to run all the sample code and try to change something in it.

All the code samples in the book are available in this repository - https://github.com/cipher387/python-for-OSINT-21-days.

This course is distributed completely free of charge. In the beginning I thought about selling it, but since my subscribers are spread all over the planet and have very different income levels, I decided to distribute it without restrictions.

But to strengthen your discipline and motivate you to take it to the end, I recommend you make a small donation.

Free courses people often don't finish until the end, and paying will help you take learning seriously. Also, every donation will motivate me to make new OSINT courses and make them available to people all over the world.

The amount of donation you determine yourself.

For example, if you smoke, then for you the price of the course may be equal to the price of a pack of your favorite cigarettes.

If you drink alcohol, then the cost of a can of beer in the nearest supermarket or a small glass of wine in a restaurant on the next street. If you like fast food, go with the price of a small burger or package of fries.

You can send a donation via bank card or PayPal: https://boosty.to/cyb_detective

If for some reason you don't want to send a donation, I would still be very happy if you took this course.

You can download book with lessons here: Python for OSINT. 21 day course for beginners.pdf

My second book:

Linux for OSINT. 21-day course for beginners

Thank you for following me! https://cybdetective.com