In this repository you will find sample code files for each day of the course "Python for OSINT. A 21-day course for beginners".
[]
In this repository you will find sample code files for each day of the course "Python for OSINT. A 21-day course for beginners".
<div align="center">
     <h1>Python for OSINT. 21-day course for beginners</h1>
     <img alt="GitHub stars" src="https://img.shields.io/github/stars/cipher387/python-for-OSINT-21-days"> 
     <img alt="GitHub forks" src="https://img.shields.io/github/forks/cipher387/python-for-OSINT-21-days"> <br>
     <img src="https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat">
     <img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fcipher387%2Fpython-for-OSINT-21-days&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false">
     <br>
     <br>
</div>
<img src="https://github.com/cipher387/python-for-OSINT-21-days/blob/main/cover.png" width="100%" />
### [Please note that you need to download the PDF file to take the course!](https://github.com/cipher387/python-for-OSINT-21-days/raw/main/Python%20for%20OSINT.%2021%20day%20course%20for%20beginners.pdf)
Also you can use [Notion template](https://elated-herring-608.notion.site/c3b34c75a408458e8d3cb013adeab5fd?v=de729dfd0c3c483f8b7fb708ed6a3911)
## 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 
<img src="https://github.com/cipher387/cheatsheets/blob/main/python_for_osint.png" width="100%" />
## 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.
<img src="https://github.com/cipher387/python-for-OSINT-21-days/blob/main/map.png" width="100%" />
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](https://github.com/cipher387/python-for-OSINT-21-days/raw/main/Python%20for%20OSINT.%2021%20day%20course%20for%20beginners.pdf) 
My second book:
[Linux for OSINT. 21-day course for beginners](https://github.com/cipher387/linux-for-OSINT-21-day/)
Thank you for following me! https://cybdetective.com