mirror of
https://github.com/hastagAB/Awesome-Python-Scripts.git
synced 2025-02-07 09:00:54 +00:00
Merge branch 'master' into Akshath
This commit is contained in:
commit
06c603fe31
8
.github/workflows/PULL_REQUEST_TEMPLATE.md
vendored
8
.github/workflows/PULL_REQUEST_TEMPLATE.md
vendored
|
@ -5,11 +5,11 @@
|
||||||
|
|
||||||
## Checklist
|
## Checklist
|
||||||
<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->
|
<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->
|
||||||
- [ ] I have read and followed the [Contribution Guidlines](https://github.com/hastagAB/Awesome-Python-Scripts#contribution-guidelines-) before creating this PR.
|
- [x] I have read and followed the [Contribution Guidlines](https://github.com/hastagAB/Awesome-Python-Scripts#contribution-guidelines-) before creating this PR.
|
||||||
- [ ] I've added a new Script
|
- [x] I've added a new Script
|
||||||
- [ ] Script is tested and running perfectly fine on my system
|
- [x] Script is tested and running perfectly fine on my system
|
||||||
- [ ] PR is regarding the Documetation
|
- [ ] PR is regarding the Documetation
|
||||||
- [ ] This change requires a documentation update
|
- [x] This change requires a documentation update
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -31,11 +31,33 @@ You can see what all you changes using the `git status` command.
|
||||||
## 4. Add all you changes
|
## 4. Add all you changes
|
||||||
Add all your changes to you branch using the `git add .` command
|
Add all your changes to you branch using the `git add .` command
|
||||||
|
|
||||||
|
## 5. Commit your changes
|
||||||
|
Commit your changes to your branch using `git commit -m "commit message"` command.
|
||||||
|
|
||||||
|
## Commit Message Conventions
|
||||||
|
|
||||||
|
- Start with a short summary (50 characters or less) of the changes made.
|
||||||
|
- Use the present tense and imperative mood.
|
||||||
|
- Separate the summary from the body of the message with a blank line.
|
||||||
|
- Use the body to explain what and why changes were made, as well as any necessary details.
|
||||||
|
- Additionally, you can consider using [semantic commit messages](https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716?permalink_comment_id=3867882) like "feat:", "docs:", etc. which will provide additional context to the commit message.
|
||||||
|
|
||||||
|
| Commit Type | Description |
|
||||||
|
| ---- | ---- |
|
||||||
|
| `feat` | New feature or functionality added |
|
||||||
|
| `fix` | Bug fix |
|
||||||
|
| `docs` | Changes to documentation |
|
||||||
|
| `test` | Adding or updating tests |
|
||||||
|
| `chore` | Maintenance tasks such as refactoring, dependencies updates, or removing unused code |
|
||||||
|
| `ci` | Changes to the build or continuous integration process |
|
||||||
|
|
||||||
## 5. Push you changes to GitHub
|
## 5. Push you changes to GitHub
|
||||||
Switch to the main branch using this command:
|
Switch to the master branch using this command:
|
||||||
|
|
||||||
```git checkout master```
|
```git checkout master```
|
||||||
|
|
||||||
Push all your changes to GitHub using the command:
|
Push all your changes to GitHub using the command:
|
||||||
|
|
||||||
```git push --set-upstream origin <your_branch_name>```
|
```git push --set-upstream origin <your_branch_name>```
|
||||||
|
|
||||||
|
|
||||||
|
|
61
FileMagic_Organizer/README.md
Normal file
61
FileMagic_Organizer/README.md
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
## FileMagic Organizer - Unleash the Power of Order
|
||||||
|
|
||||||
|
Welcome to FileMagic Organizer, where chaos meets its match. This Python script is your ally in the battle against cluttered directories. FileMagic Organizer effortlessly sorts your files into designated categories, bringing harmony to the digital realm.
|
||||||
|
|
||||||
|
## Index
|
||||||
|
- [Introduction](#)
|
||||||
|
- [Key Features](#key-features)
|
||||||
|
- [Getting Started](#getting-started)
|
||||||
|
- [Options provided](#options-provided)
|
||||||
|
- [Usage](#usage)
|
||||||
|
- [Customization](#customization)
|
||||||
|
|
||||||
|
## Key Features:
|
||||||
|
|
||||||
|
- 🔮 **Magical Categorization:** FileMagic Organizer intelligently sorts files by type, creating a structured and easily navigable file system.
|
||||||
|
|
||||||
|
- 📅 **Chronological Arrangement:** Dive into the past with chronological organization, unveiling the history of your files in an orderly timeline.
|
||||||
|
|
||||||
|
📏 **Size-based Sorting:** Experience the wizardry of size-based categorization, with files neatly grouped into small, medium, and large categories.
|
||||||
|
|
||||||
|
## **Getting Started:**
|
||||||
|
|
||||||
|
1. ⚡ **Clone the Repository:** Embrace the magic by cloning the FileMagic Organizer repository.
|
||||||
|
|
||||||
|
2. 🚀 **Install Dependencies:** Initiate the enchantment with a quick installation of the required Python libraries.
|
||||||
|
|
||||||
|
3. ✨ **Run the Magic Spell:** Execute the script, follow the prompts, and witness the transformation as FileMagic Organizer weaves its organizational magic.
|
||||||
|
|
||||||
|
## Options provided
|
||||||
|
|
||||||
|
- Organize files by type (e.g., images, documents, videos).
|
||||||
|
- Organize files by creation date into a hierarchical structure of year and month.
|
||||||
|
- Categorize files by size into small, medium, and large categories.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
1. **Clone the Repository:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/malivinayak/file-organizer.git
|
||||||
|
cd file-organizer
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Install Dependencies:**
|
||||||
|
|
||||||
|
Ensure you have Python installed. Install the required libraries:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install -r requirements.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Run the Script:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python organize_files.py
|
||||||
|
```
|
||||||
|
|
||||||
|
## Customization
|
||||||
|
|
||||||
|
- Adjust the file type categories, file extensions, and any other settings in the script based on your needs.
|
||||||
|
- Modify the size categories and ranges in the script for organizing files by size.
|
104
FileMagic_Organizer/main.py
Normal file
104
FileMagic_Organizer/main.py
Normal file
|
@ -0,0 +1,104 @@
|
||||||
|
import os
|
||||||
|
import shutil
|
||||||
|
import datetime
|
||||||
|
|
||||||
|
def categorize_by_size(file_size):
|
||||||
|
# Define size categories and their ranges in bytes
|
||||||
|
size_categories = {
|
||||||
|
'small': (0, 1024), # Up to 1 KB
|
||||||
|
'medium': (1025, 1024 * 1024), # 1 KB to 1 MB
|
||||||
|
'large': (1024 * 1025, float('inf')) # Larger than 1 MB
|
||||||
|
}
|
||||||
|
|
||||||
|
for category, (min_size, max_size) in size_categories.items():
|
||||||
|
if min_size <= file_size < max_size:
|
||||||
|
return category
|
||||||
|
|
||||||
|
return 'unknown'
|
||||||
|
|
||||||
|
def organize_files(source_dir, destination_dir, organize_by_type=True, organize_by_date=True, organize_by_size=True):
|
||||||
|
# Create a dictionary to map file extensions to corresponding folders
|
||||||
|
file_types = {
|
||||||
|
'images': ['.png', '.jpg', '.jpeg', '.gif'],
|
||||||
|
'documents': ['.pdf', '.docx', '.txt'],
|
||||||
|
'videos': ['.mp4', '.avi', '.mkv'],
|
||||||
|
'other': [] # Add more categories and file extensions as needed
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create destination subdirectories if they don't exist
|
||||||
|
if organize_by_type:
|
||||||
|
for folder in file_types:
|
||||||
|
folder_path = os.path.join(destination_dir, folder)
|
||||||
|
os.makedirs(folder_path, exist_ok=True)
|
||||||
|
|
||||||
|
if organize_by_date:
|
||||||
|
for year in range(2010, 2030): # Adjust the range based on your needs
|
||||||
|
year_folder = os.path.join(destination_dir, str(year))
|
||||||
|
os.makedirs(year_folder, exist_ok=True)
|
||||||
|
|
||||||
|
for month in range(1, 13):
|
||||||
|
month_folder = os.path.join(year_folder, f"{month:02d}")
|
||||||
|
os.makedirs(month_folder, exist_ok=True)
|
||||||
|
|
||||||
|
if organize_by_size:
|
||||||
|
for size_category in ['small', 'medium', 'large']:
|
||||||
|
size_folder = os.path.join(destination_dir, size_category)
|
||||||
|
os.makedirs(size_folder, exist_ok=True)
|
||||||
|
|
||||||
|
# Scan the source directory and organize files
|
||||||
|
for filename in os.listdir(source_dir):
|
||||||
|
file_path = os.path.join(source_dir, filename)
|
||||||
|
|
||||||
|
if os.path.isfile(file_path):
|
||||||
|
# Determine the file type based on extension
|
||||||
|
file_type = None
|
||||||
|
for category, extensions in file_types.items():
|
||||||
|
if any(filename.lower().endswith(ext) for ext in extensions):
|
||||||
|
file_type = category
|
||||||
|
break
|
||||||
|
|
||||||
|
if organize_by_type and file_type:
|
||||||
|
# Move the file to the corresponding subdirectory
|
||||||
|
destination_folder = os.path.join(destination_dir, file_type)
|
||||||
|
destination_path = os.path.join(destination_folder, filename)
|
||||||
|
shutil.move(file_path, destination_path)
|
||||||
|
print(f"Moved: {filename} to {file_type} folder")
|
||||||
|
|
||||||
|
if organize_by_date:
|
||||||
|
# Get the creation date of the file
|
||||||
|
creation_time = os.path.getctime(file_path)
|
||||||
|
creation_date = datetime.datetime.fromtimestamp(creation_time)
|
||||||
|
|
||||||
|
# Determine the destination folder based on creation date
|
||||||
|
destination_folder = os.path.join(
|
||||||
|
destination_dir,
|
||||||
|
str(creation_date.year),
|
||||||
|
f"{creation_date.month:02d}",
|
||||||
|
)
|
||||||
|
|
||||||
|
# Move the file to the corresponding subdirectory
|
||||||
|
destination_path = os.path.join(destination_folder, filename)
|
||||||
|
shutil.move(file_path, destination_path)
|
||||||
|
print(f"Moved: {filename} to {creation_date.year}/{creation_date.month:02d} folder")
|
||||||
|
|
||||||
|
if organize_by_size:
|
||||||
|
# Get the size of the file in bytes
|
||||||
|
file_size = os.path.getsize(file_path)
|
||||||
|
|
||||||
|
# Determine the destination folder based on file size
|
||||||
|
size_category = categorize_by_size(file_size)
|
||||||
|
destination_folder = os.path.join(destination_dir, size_category)
|
||||||
|
destination_path = os.path.join(destination_folder, filename)
|
||||||
|
shutil.move(file_path, destination_path)
|
||||||
|
print(f"Moved: {filename} to {size_category} folder")
|
||||||
|
|
||||||
|
# Get source and destination directories from the user
|
||||||
|
source_directory = input("Enter the source directory path: ")
|
||||||
|
destination_directory = input("Enter the destination directory path: ")
|
||||||
|
|
||||||
|
# Ask the user how they want to organize the files
|
||||||
|
organize_by_type = input("Organize by file type? (yes/no): ").lower() == 'yes'
|
||||||
|
organize_by_date = input("Organize by creation date? (yes/no): ").lower() == 'yes'
|
||||||
|
organize_by_size = input("Organize by size? (yes/no): ").lower() == 'yes'
|
||||||
|
|
||||||
|
organize_files(source_directory, destination_directory, organize_by_type, organize_by_date, organize_by_size)
|
|
@ -1,5 +1,5 @@
|
||||||
certifi==2022.12.7
|
certifi==2023.7.22
|
||||||
chardet==3.0.4
|
chardet==3.0.4
|
||||||
idna==2.10
|
idna==2.10
|
||||||
requests==2.31.0
|
requests==2.31.0
|
||||||
urllib3==1.26.5
|
urllib3==1.26.18
|
||||||
|
|
|
@ -10,3 +10,23 @@ img=img.resize((myHeight,myWidth),PIL.Image.ANTILIAS)
|
||||||
save_path=asksaveasfile()
|
save_path=asksaveasfile()
|
||||||
|
|
||||||
img.save(save_path+"_compressed.JPG")
|
img.save(save_path+"_compressed.JPG")
|
||||||
|
|
||||||
|
import PIL
|
||||||
|
from PIL import Image
|
||||||
|
from tkinter.filedialog import *
|
||||||
|
|
||||||
|
file_paths = askopenfilenames()
|
||||||
|
|
||||||
|
if len(file_paths) == 0:
|
||||||
|
print("No Files Selected")
|
||||||
|
|
||||||
|
for file in file_paths:
|
||||||
|
file_name = file.split('/')[-1]
|
||||||
|
file_name, extension = file_name.split('.')
|
||||||
|
|
||||||
|
img = PIL.Image.open(file)
|
||||||
|
height,width = img.size
|
||||||
|
img=img.resize((height,width),Image.Resampling.LANCZOS)
|
||||||
|
|
||||||
|
save_path=askdirectory()
|
||||||
|
img.save(save_path+f"/{file_name}_compressed.{extension}")
|
||||||
|
|
|
@ -7,5 +7,7 @@ It automates the task of compressing the image in day to day lives.
|
||||||
|
|
||||||
# Dependencies:
|
# Dependencies:
|
||||||
|
|
||||||
pip install image
|
Note : Use python3.11 for tkinder
|
||||||
|
|
||||||
|
`pip install pillow`
|
||||||
|
|
||||||
|
|
|
@ -11,3 +11,17 @@ pynput==1.4.4
|
||||||
six==1.12.0
|
six==1.12.0
|
||||||
wincertstore==0.2
|
wincertstore==0.2
|
||||||
wrapt==1.10.11
|
wrapt==1.10.11
|
||||||
|
=======
|
||||||
|
astroid==2.1.0
|
||||||
|
autopep8==1.4.3
|
||||||
|
certifi==2023.7.22
|
||||||
|
colorama==0.4.1
|
||||||
|
isort==4.3.4
|
||||||
|
lazy-object-proxy==1.3.1
|
||||||
|
mccabe==0.6.1
|
||||||
|
pycodestyle==2.4.0
|
||||||
|
pylint==2.2.2
|
||||||
|
pynput==1.4.4
|
||||||
|
six==1.12.0
|
||||||
|
wincertstore==0.2
|
||||||
|
wrapt==1.10.11
|
44
PDFsplitter/PDFsplitter.py
Normal file
44
PDFsplitter/PDFsplitter.py
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
import PyPDF2
|
||||||
|
import argparse
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
|
def split_pdf(input_pdf_path, output_folder):
|
||||||
|
# Open the PDF file
|
||||||
|
pdf_file = open(input_pdf_path, "rb")
|
||||||
|
input_pdf_name = os.path.basename(input_pdf_path).split(".")[0]
|
||||||
|
pdf_reader = PyPDF2.PdfReader(pdf_file)
|
||||||
|
|
||||||
|
# Create the output folder if it doesn't exist
|
||||||
|
os.makedirs(output_folder, exist_ok=True)
|
||||||
|
|
||||||
|
# Loop through each page and save it as a separate PDF file
|
||||||
|
for page_num in range(len(pdf_reader.pages)):
|
||||||
|
pdf_writer = PyPDF2.PdfWriter()
|
||||||
|
pdf_writer.add_page(pdf_reader.pages[page_num])
|
||||||
|
|
||||||
|
output_pdf_path = os.path.join(
|
||||||
|
output_folder, f"{input_pdf_name}_{page_num + 1}.pdf"
|
||||||
|
)
|
||||||
|
|
||||||
|
with open(output_pdf_path, "wb") as output_pdf:
|
||||||
|
pdf_writer.write(output_pdf)
|
||||||
|
print(f"Page {page_num + 1} saved as {output_pdf_path}")
|
||||||
|
|
||||||
|
# Close the input PDF file
|
||||||
|
pdf_file.close()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
parser = argparse.ArgumentParser(
|
||||||
|
description="Split a PDF file into separate pages")
|
||||||
|
parser.add_argument(
|
||||||
|
"input_pdf", help="Input PDF file path")
|
||||||
|
parser.add_argument(
|
||||||
|
"output_folder", help="Output folder path for split pages")
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
input_pdf_path = args.input_pdf
|
||||||
|
output_folder = args.output_folder
|
||||||
|
|
||||||
|
split_pdf(input_pdf_path, output_folder)
|
22
PDFsplitter/README.md
Normal file
22
PDFsplitter/README.md
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
## PDFsplitter
|
||||||
|
|
||||||
|
This Python script allows you to split a PDF file into separate PDF files, one for each page. It uses the PyPDF2 library to perform the splitting.
|
||||||
|
|
||||||
|
### Usage
|
||||||
|
|
||||||
|
1. Make sure you have Python 3.x installed on your system.
|
||||||
|
|
||||||
|
2. Install the required PyPDF2 library using pip:
|
||||||
|
```pip install PyPDF2```
|
||||||
|
|
||||||
|
3. Run the script with the following command:
|
||||||
|
|
||||||
|
`python PDFsplitter.py input_pdf output_folder`
|
||||||
|
- `input_pdf`: The path to the input PDF file that you want to split.
|
||||||
|
- `output_folder`: The folder where the split PDF pages will be saved.
|
||||||
|
|
||||||
|
### Example
|
||||||
|
|
||||||
|
To split an input PDF file named `input.pdf` into separate pages and save them in an `output_pages` folder, you can run the following command:
|
||||||
|
|
||||||
|
python PDFsplitter.py input.pdf output_pages
|
1
PDFsplitter/requirements.txt
Normal file
1
PDFsplitter/requirements.txt
Normal file
|
@ -0,0 +1 @@
|
||||||
|
PyPDF2==3.0.1
|
|
@ -1,3 +1,3 @@
|
||||||
numpy==1.22.0
|
numpy==1.22.0
|
||||||
opencv-python==4.1.1.26
|
opencv-python==4.1.1.26
|
||||||
Pillow==9.3.0
|
Pillow==10.0.1
|
||||||
|
|
203
README.md
203
README.md
|
@ -3,13 +3,14 @@
|
||||||
|
|
||||||
## Contents:
|
## Contents:
|
||||||
|
|
||||||
- [What is this repo?](#what-is-this-repo)
|
- [Awesome Python Scripts :sunglasses: ](#awesome-python-scripts-sunglasses----)
|
||||||
- [What do we have?](#what-do-we-have)
|
- [Contents:](#contents)
|
||||||
- [How to use?](#how-to-use)
|
- [What is this repo?](#what-is-this-repo)
|
||||||
- [Contribution Guidelines](#contributions-guidelines)
|
- [What do we have:](#what-do-we-have)
|
||||||
|
- [How to use:](#how-to-use)
|
||||||
|
- [Contribution Guidelines:](#contribution-guidelines)
|
||||||
- [Steps required to follow before adding any script](#steps-required-to-follow-before-adding-any-script)
|
- [Steps required to follow before adding any script](#steps-required-to-follow-before-adding-any-script)
|
||||||
- [Contribution Guidelines](#contributions-guidelines)
|
- [If you like the project:](#if-you-like-the-project)
|
||||||
- [If you like the project](#if-you-like-the-project)
|
|
||||||
- [Want to connect with me?](#want-to-connect-with-me)
|
- [Want to connect with me?](#want-to-connect-with-me)
|
||||||
|
|
||||||
## What is this repo?
|
## What is this repo?
|
||||||
|
@ -22,125 +23,101 @@ So far, the following projects have been integrated to this repo:
|
||||||
|
|
||||||
| Project Name | Contributors |
|
| Project Name | Contributors |
|
||||||
|--|--|
|
|--|--|
|
||||||
| [TicTacToe AI and 2 players](https://github.com/ShadowHunter15/Awesome-Python-Scripts/tree/master/TicTacToe_AI_and_2_players) | [Omar Sameh](https://github.com/ShadowHunter15) |
|
|[2048](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/2048)|[Krunal](https://github.com/gitkp11)|
|
||||||
| [AI for guess the number](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/AI_for_Guess_the_number) | [Omar Sameh](https://github.com/ShadowHunter15) |
|
|
||||||
| [sudoku-solver](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/sudoku-solver) | [Rishabh Umrao](https://github.com/ayedaemon) |
|
|
||||||
|[File Encrypt Decrypt](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/file-encrypt-decrypt)|[Aditya Arakeri](https://github.com/adityaarakeri)|
|
|
||||||
| [Address locator](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Location_Of_Adress) | [Chris]() |
|
|
||||||
| [Automated emails](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/automated_email) | [Suvigya](https://github.com/SuvigyaJain1) |
|
|
||||||
|[AI chatbot](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Artificial-intelligence_bot) |[umar abdullahi](https://github.com/umarbrowser) |
|
|
||||||
|[Asymmetric Encryption](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/asymmetric_cryptography) |[victor matheus](https://github.com/victormatheusc) |
|
|
||||||
|[Bitcoin price GUI](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Bitcoin-Price-GUI) |[Amirul Abu](https://github.com/amirulabu) |
|
|
||||||
|[Better_CSV_Storage](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Better_CSV_Storage) | [Bhargav Kuvadiya](https://github.com/techdobz) |
|
|
||||||
|[Cryptocurrency Converter](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Cryptocurrency-converter) |[AdnCodz](https://github.com/AdnCodez) |
|
|
||||||
|[Cryptocurrency Prices](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Cryptocurrency-Prices) |[xemeds](https://github.com/xemeds) |
|
|
||||||
|[Caesar Cipher](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/caesar_cipher) |[epi052](https://github.com/epi052) |
|
|
||||||
|[Checksum tool](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Checksum) |[Austin Ewens](https://github.com/aewens) |
|
|
||||||
|[Codechef autosubmitter](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Codechef-Code-Submitter) |[Harshit Mahajan](https://github.com/hmahajan99) |
|
|
||||||
|[Colored B&W Image Converter](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Color_to_BW_Converter) |[Nitish Srivastava](https://github.com/nitish-iiitd) |
|
|
||||||
|[Contact 'Leads' Distribution](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Contact-Distribution) |[Tiago Cordeiro](https://github.com/tiagocordeiro) |
|
|
||||||
|[Cricket Matches web Scraper](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/CricBuzz_Score_Update) |[Divy Ranjan](https://github.com/divyranjan17) |
|
|
||||||
| [Crypt socket](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Crypt_Socket)|[Willian GL](https://github.com/williangl) |
|
|
||||||
| [CSV to Excel](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/CSV-to-Excel)|[xemeds](https://github.com/xemeds) |
|
|
||||||
|[Current City Weather](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Current_City_Weather) |[Jesse Bridge](https://github.com/jessebridge) |
|
|
||||||
|[Directory organizer](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Directory-organizer) | [Athul P](https://github.com/athulpn) |
|
|
||||||
|[Database-As-Storage](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Database-As-Storage) | [Bhargav Kuvadiya](https://github.com/techdobz) |
|
|
||||||
|[DOH DIG](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/DOH-Dig/) | [Ryan](https://github.com/awsumco) |
|
|
||||||
|[English Theasaurus](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/English_Theasauras/) | [Ansh Dhingra](https://github.com/anshdhinhgra47) |
|
|
||||||
|[Elasticsearch snapshot](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/elastic-snapshot) | [Joe Ryan](https://github.com/joeryan) |
|
|
||||||
|[Excel Files Merger](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Excel_Files_Merger) | [Andrei N](https://github.com/Andrei-Niculae)|
|
|
||||||
|[Excel to List](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Excel_to_ListofList) | [Nitish Srivastava](https://github.com/nitish-iiitd)|
|
|
||||||
|[Extended_ip_address_info](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/extended_ip_address_info) | [hafpaf](https://github.com/hafpaf)|
|
|
||||||
|[File explorer](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/File-Explorer-Dialog-Box) | [Nikhil Kumar Singh](https://github.com/nikhilkumarsingh)|
|
|
||||||
|[File Sharing Bot](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/File-Sharing-Bot) | [Darshan Patel](https://github.com/DarshanPatel11)|
|
|
||||||
|[Flash card quizzer](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Flash-card-Challenge) |[Utkarsh Sharma](https://github.com/Utkarsh1308) |
|
|
||||||
|[Frammed text generator](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/FramedText) | [jcdwalle](https://github.com/jcdwalle)|
|
|
||||||
|[git_automation](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/git_automation)| [loge1998](https://github.com/loge1998)|
|
|
||||||
|[Gmail Mailing Script](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/mailing) |[mayank-kapur](https://github.com/kapurm17) |
|
|
||||||
|[Get Time By TimeZone](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Get_Time_TimezoneWise)|[Parth Shah](https://github.com/codingis4noobs) |
|
|
||||||
|[Handwrting DNN recognizer](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Handwriting_Recognizer) |[Chris]() |
|
|
||||||
|[HTML Table to List](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/HTML_Table_to_List) | [Nitish Srivastava](https://github.com/nitish-iiitd)|
|
|
||||||
|[Image circle formatter](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Image-Circulator) |[Berk Gureken](https://github.com/bureken) |
|
|
||||||
|[Image To PDF](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/images2pdf)|[msaoudallah](https://github.com/msaoudallah)|
|
|
||||||
|[Instadp Web Scrapper](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/InstadpShower)|[Psychiquest](https://github.com/psychiquest)|
|
|
||||||
|[IP Address ](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/ipaddress)|[Xenium](https://github.com/xeniumcode)|
|
|
||||||
|[Keylogger](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Keylogger) |[Preet Mishra](https://github.com/preetmishra) |
|
|
||||||
|[Minecraft Server in background](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Minecraft_server_in_background)|[Max von Forell](https://github.com/mvforell)|
|
|
||||||
|[Own IP locator](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Location_Of_Own_IP_Adress)|[Chris]()|
|
|
||||||
|[Port Scanner](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Port_Scanner)|[Plutoberth](https://github.com/Plutoberth)|
|
|
||||||
|[Harry Potter Cloak](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Harry-Potter-Cloak) | [thesmartdeveloperr](https://github.com/thesmartdeveloperr)|
|
|
||||||
|[Python Algebra Solver](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Algebra-Solver)|[Sengxay Xayachack](https://github.com/frankxayachack)|
|
|
||||||
|[Random name generator](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Random_Names_Generator)| [Ayush Bhardwaj](https://github.com/hastagAB)|
|
|
||||||
|[Random Password Generators](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Random_Password_Generator)| [Hafpaf](https://github.com/hafpaf) and [Renderer-RCT2](https://github.com/Renderer-RCT2)|
|
|
||||||
|[Server Ping](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Ping_Server)|[prince]()|
|
|
||||||
|[Signature photo to PNG converter](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/signature2png)|[Rodolfo Ferro](https://github.com/RodolfoFerro)|
|
|
||||||
|[Simple Webpage Parser](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/SimpleWebpageParser)|[Nitish Srivastava](https://github.com/nitish-iiitd)|
|
|
||||||
|[Slideshare downloader](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Slideshare-Downloader)|[Chris Goes](https://github.com/GhostofGoes)|
|
|
||||||
|[SMS your location](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/SmsYourLocation)|[prince]()|
|
|
||||||
|[Squid installer for Ubuntu](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Squid-Proxy-Installer-for-Ubuntu16)|[Berkay Demir]()|
|
|
||||||
|[Subtitle downloader](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Subtitle-downloader)|[Kaushlendra Pratap](https://github.com/kaushl1998)|
|
|
||||||
|[TTS - Text to Speech Mp3](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/TTS_Text_to_Speech_Mp3)|[Antonio Andrade](https://github.com/xAndrade)|
|
|
||||||
|[Top_News](Top_News)|[Attupatil](https://github.com/Attupatil)|
|
|
||||||
|[Upload Files to S3](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Upload_files_to_s3)|[Jayram Nai](https://github.com/jramnai)|
|
|
||||||
|[Vinegère Cipher](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/vigenere_cipher)|[victoni](https://github.com/victoni)|
|
|
||||||
|[Web proxy](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Proxy-Request)|[Nikhil Kumar Singh](https://github.com/nikhilkumarsingh)|
|
|
||||||
|[Website blocker](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Website-Blocker)|[Ayush Bhardwaj](https://github.com/hastagAB)|
|
|
||||||
|[Word generator](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Word-generator)|[TGLIDE](https://github.com/TGlide)|
|
|
||||||
|[Work log generator](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Work_Log_Generator)|[Maël Pedretti](https://github.com/73VW)|
|
|
||||||
|[Youtube video downloader](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Youtube_Video_Downloader)|[Christopher He](https://github.com/hecris)|
|
|
||||||
|[Zabbix API](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/zabbix_api)|[msg4sunny](https://github.com/msg4sunny)|
|
|
||||||
|[Zip password cracker](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/zip_password_cracker)|[umar abdullahi](https://github.com/umarbrowser)|
|
|
||||||
|[RSA Algorithm](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/RSA_Algorithm)|[Chinmay Rane](https://github.com/Chinmayrane16)|
|
|
||||||
|[CLI Calculator](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/cli_calculator)|[Willian GL](https://github.com/williangl) |
|
|
||||||
|[Find PhoneNumber in String](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Find-PhoneNumber-in-String)|[Austin Zuniga](https://github.com/AustinZuniga)|
|
|
||||||
|[IMDB TV Series Info Extractor](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/imdb_episode_ratings)|[Yash Raj Sarrof](https://github.com/yashYRS) |
|
|
||||||
|[PX to REM](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/PX-to-REM)|[Atthaphon Urairat](https://github.com/uatthaphon) |
|
|
||||||
|[py_based_music_player](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/py_based_music_player) | [Bhargav Kuvadiya](https://github.com/techdobz) |
|
|
||||||
|[Yoda-speak Translator](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/speak_like_yoda)|[sonniki](https://github.com/sonniki) |
|
|
||||||
|[SSH Host adder](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/SSH_Host_Adder)|[NinoDoko](https://github.com/NinoDoko)|
|
|
||||||
|[Wikipedia-Search](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Wikipedia-Search)|[Nissaar](https://github.com/Nissaar) |
|
|
||||||
|[Instagram Video Downloader](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/insta_video_downloader)|[Shobhit Bhosure](https://github.com/shobhit99) |
|
|
||||||
|[Medium Article Downloader](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/medium_article_downloader)|[coolsonu39](https://github.com/coolsonu39)|
|
|
||||||
|[Face Recognition](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Face_recognition)|[LOKESH KHURANA](https://github.com/theluvvkhurana)|
|
|
||||||
|[File Encrypt Decrypt](file-encrypt-decrypt)|[Aditya Arakeri](https://github.com/adityaarakeri)|
|
|
||||||
| [Address locator](Location_Of_Adress) | [Chris]() |
|
|
||||||
| [Automated calendar](automated_calendar) | [J.A. Hernández](https://github.com/jesusalberto18) |
|
|
||||||
| [Automated emails](automated_email) | [Suvigya](https://github.com/SuvigyaJain1) |
|
|
||||||
|[AI chatbot](Artificial-intelligence_bot) |[umar abdullahi](https://github.com/umarbrowser) |
|
|[AI chatbot](Artificial-intelligence_bot) |[umar abdullahi](https://github.com/umarbrowser) |
|
||||||
|
|[AI for guess the number](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/AI_for_Guess_the_number) | [Omar Sameh](https://github.com/ShadowHunter15) |
|
||||||
|
|[Address locator](Location_Of_Adress) | [Chris]() |
|
||||||
|[Asymmetric Encryption](asymmetric_cryptography) |[victor matheus](https://github.com/victormatheusc) |
|
|[Asymmetric Encryption](asymmetric_cryptography) |[victor matheus](https://github.com/victormatheusc) |
|
||||||
|
|[Automated calendar](automated_calendar) | [J.A. Hernández](https://github.com/jesusalberto18) |
|
||||||
|
|[Automated emails](automated_email) | [Suvigya](https://github.com/SuvigyaJain1) |
|
||||||
|
|[Battery_notification](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Battery_notification/)|[Krishna Sharma](https://github.com/krishnasharma1386)|
|
||||||
|
|[Better_CSV_Storage](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Better_CSV_Storage) | [Bhargav Kuvadiya](https://github.com/techdobz) |
|
||||||
|[Bitcoin price GUI](Bitcoin-Price-GUI) |[Amirul Abu](https://github.com/amirulabu) |
|
|[Bitcoin price GUI](Bitcoin-Price-GUI) |[Amirul Abu](https://github.com/amirulabu) |
|
||||||
|[Cryptocurrency Converter](Cryptocurrency-converter) |[AdnCodz](https://github.com/AdnCodez) |
|
|[CLI Calculator](cli_calculator)|[Willian GL](https://github.com/williangl) |
|
||||||
|
|[COVID visualiser (real-time) ](covid_visualiser)|[Tushar Gupta](https://github.com/tushar5526)|
|
||||||
|
|[CSV to Excel](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/CSV-to-Excel)|[xemeds](https://github.com/xemeds) |
|
||||||
|[Caesar Cipher](caesar_cipher) |[epi052](https://github.com/epi052) |
|
|[Caesar Cipher](caesar_cipher) |[epi052](https://github.com/epi052) |
|
||||||
|[Checksum tool](Checksum) |[Austin Ewens](https://github.com/aewens) |
|
|[Checksum tool](Checksum) |[Austin Ewens](https://github.com/aewens) |
|
||||||
|
|[Clean_up_photo](Clean_up_photo_directory)|[sritanmay001](https://github.com/sritanmy001)|
|
||||||
|[Codechef autosubmitter](Codechef-Code-Submitter) |[Harshit Mahajan](https://github.com/hmahajan99) |
|
|[Codechef autosubmitter](Codechef-Code-Submitter) |[Harshit Mahajan](https://github.com/hmahajan99) |
|
||||||
|
|[Codeforces Checker](codeforcesChecker)|[Jinesh Parakh](https://github.com/jineshparakh)|
|
||||||
|[Colored B&W Image Converter](Color_to_BW_Converter) |[Nitish Srivastava](https://github.com/nitish-iiitd) |
|
|[Colored B&W Image Converter](Color_to_BW_Converter) |[Nitish Srivastava](https://github.com/nitish-iiitd) |
|
||||||
|[Contact 'Leads' Distribution](Contact-Distribution) |[Tiago Cordeiro](https://github.com/tiagocordeiro) |
|
|[Contact 'Leads' Distribution](Contact-Distribution) |[Tiago Cordeiro](https://github.com/tiagocordeiro) |
|
||||||
|
|[Countdown](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Countdown)|[Jeremias Gomes](https://github.com/j3r3mias)|
|
||||||
|
|[csv_to_json](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/csv_to_json)|[MoiZ](https://github.com/TechBoyy6)|
|
||||||
|[Cricket Matches web Scraper](CricBuzz_Score_Update) |[Divy Ranjan](https://github.com/divyranjan17) |
|
|[Cricket Matches web Scraper](CricBuzz_Score_Update) |[Divy Ranjan](https://github.com/divyranjan17) |
|
||||||
| [Crypt socket](Crypt_Socket)|[Willian GL](https://github.com/williangl) |
|
|[Crypt socket](Crypt_Socket)|[Willian GL](https://github.com/williangl) |
|
||||||
|
|[Cryptocurrency Converter](Cryptocurrency-converter) |[AdnCodz](https://github.com/AdnCodez) |
|
||||||
|
|[Cryptocurrency Prices](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Cryptocurrency-Prices) |[xemeds](https://github.com/xemeds) |
|
||||||
|[Current City Weather](Current_City_Weather) |[Jesse Bridge](https://github.com/jessebridge) |
|
|[Current City Weather](Current_City_Weather) |[Jesse Bridge](https://github.com/jessebridge) |
|
||||||
|[Directory organizer](Directory-organizer) | [Athul P](https://github.com/athulpn) |
|
|
||||||
|[DOH DIG](DOH-Dig/) | [Ryan](https://github.com/awsumco) |
|
|[DOH DIG](DOH-Dig/) | [Ryan](https://github.com/awsumco) |
|
||||||
|
|[Database-As-Storage](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Database-As-Storage) | [Bhargav Kuvadiya](https://github.com/techdobz) |
|
||||||
|
|[Directory Tree Visualizer](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Directory_Tree_Generator) | [Harpreet Singh Saluja](https://github.com/hssaluja25/) |
|
||||||
|
|[Directory organizer](Directory-organizer) | [Athul P](https://github.com/athulpn) |
|
||||||
|
|[Download Page as PDF](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Download-page-as-pdf)|[Jeremias Gomes](https://github.com/j3r3mias)|
|
||||||
|
|[Elasticsearch snapshot](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/elastic-snapshot) | [Joe Ryan](https://github.com/joeryan) |
|
||||||
|
|[English Theasaurus](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/English_Theasauras/) | [Ansh Dhingra](https://github.com/anshdhinhgra47) |
|
||||||
|[Excel Files Merger](Excel_Files_Merger) | [Andrei N](https://github.com/Andrei-Niculae)|
|
|[Excel Files Merger](Excel_Files_Merger) | [Andrei N](https://github.com/Andrei-Niculae)|
|
||||||
|[Excel to List](Excel_to_ListofList) | [Nitish Srivastava](https://github.com/nitish-iiitd)|
|
|[Excel to List](Excel_to_ListofList) | [Nitish Srivastava](https://github.com/nitish-iiitd)|
|
||||||
|[Extended_ip_address_info](extended_ip_address_info) | [hafpaf](https://github.com/hafpaf)|
|
|[Extended_ip_address_info](extended_ip_address_info) | [hafpaf](https://github.com/hafpaf)|
|
||||||
|
|[Face Recognition](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Face_recognition)|[LOKESH KHURANA](https://github.com/theluvvkhurana)|
|
||||||
|[Fibonacci_Sequence_Generator](Fibonacci_Sequence_Generator) | [John Wesley Kommala](https://github.com/JohnWesleyK)|
|
|[Fibonacci_Sequence_Generator](Fibonacci_Sequence_Generator) | [John Wesley Kommala](https://github.com/JohnWesleyK)|
|
||||||
|[File explorer](File-Explorer-Dialog-Box) | [Nikhil Kumar Singh](https://github.com/nikhilkumarsingh)|
|
|[File Carving](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/File_Carving) | [Yeryeong Kim](https://github.com/icarusicarus/) |
|
||||||
|
|[File Encrypt Decrypt](file-encrypt-decrypt)|[Aditya Arakeri](https://github.com/adityaarakeri)|
|
||||||
|
|[FileMagic Organizer](./FileMagic_Organizer)|[malivinayak](https://github.com/malivinayak)|
|
||||||
|
|[File Organizer](File-Organizer)|[Ayush Bhardwaj](https://github.com/hastagAB)|
|
||||||
|[File Sharing Bot](File-Sharing-Bot) | [Darshan Patel](https://github.com/DarshanPatel11)|
|
|[File Sharing Bot](File-Sharing-Bot) | [Darshan Patel](https://github.com/DarshanPatel11)|
|
||||||
|
|[File explorer](File-Explorer-Dialog-Box) | [Nikhil Kumar Singh](https://github.com/nikhilkumarsingh)|
|
||||||
|
|[Find PhoneNumber in String](Find-PhoneNumber-in-String)|[Austin Zuniga](https://github.com/AustinZuniga)|
|
||||||
|[Flash card quizzer](Flash-card-Challenge) |[Utkarsh Sharma](https://github.com/Utkarsh1308) |
|
|[Flash card quizzer](Flash-card-Challenge) |[Utkarsh Sharma](https://github.com/Utkarsh1308) |
|
||||||
|
|[Folder Locker and hider](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Folder%20Locker%20%26%20Hider)|[Prajjwal Pathak](https://github.com/pyguru123)|
|
||||||
|
|[Folder Manager](Folder_Manager)|[Harsh Raj](https://github.com/DeadProgrammer0)|
|
||||||
|[Frammed text generator](FramedText) | [jcdwalle](https://github.com/jcdwalle)|
|
|[Frammed text generator](FramedText) | [jcdwalle](https://github.com/jcdwalle)|
|
||||||
|
|[Get Time By TimeZone](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Get_Time_TimezoneWise)|[Parth Shah](https://github.com/codingis4noobs) |
|
||||||
|
|[git_automation](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/git_automation)| [loge1998](https://github.com/loge1998)|
|
||||||
|
|[Github repo creator](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Git_repo_creator)|[Harish Tiwari ](https://github.com/optimist2309)|
|
||||||
|
|[GithubBot](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Github_Bot)|[Abhilasha](https://github.com/Abhilasha06)|
|
||||||
|[Gmail Mailing Script](mailing) |[mayank-kapur](https://github.com/kapurm17) |
|
|[Gmail Mailing Script](mailing) |[mayank-kapur](https://github.com/kapurm17) |
|
||||||
|[Handwrting DNN recognizer](Handwriting_Recognizer) |[Chris]() |
|
|[Google Meet Joiner](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/google_meet_joiner)|[JohanSanSebastian](https://github.com/JohanSanSebastian)|
|
||||||
|[HTML Table to List](HTML_Table_to_List) | [Nitish Srivastava](https://github.com/nitish-iiitd)|
|
|[HTML Table to List](HTML_Table_to_List) | [Nitish Srivastava](https://github.com/nitish-iiitd)|
|
||||||
|[Image circle formatter](Image-Circulator) |[Berk Gureken](https://github.com/bureken) |
|
|[Handwrting DNN recognizer](Handwriting_Recognizer) |[Chris]() |
|
||||||
|
|[Harry Potter Cloak](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Harry-Potter-Cloak) | [thesmartdeveloperr](https://github.com/thesmartdeveloperr)|
|
||||||
|
|[IMDB TV Series Info Extractor](imdb_episode_ratings)|[Yash Raj Sarrof](https://github.com/yashYRS) |
|
||||||
|
|[IMDBQuerier](IMDBQuerier)|[Burak Bekci](https://github.com/Bekci)|
|
||||||
|
|[IP Address ](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/ipaddress)|[Xenium](https://github.com/xeniumcode)|
|
||||||
|
|[Image Compressor](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Image_Compressor)|[Prathima Kadari](https://github.com/prathimacode-hub)|
|
||||||
|[Image To PDF](images2pdf)|[msaoudallah](https://github.com/msaoudallah)|
|
|[Image To PDF](images2pdf)|[msaoudallah](https://github.com/msaoudallah)|
|
||||||
|
|[Image Watermarker (batch)](imageWatermarker)|[Remco Halman](https://github.com/remcohalman)|
|
||||||
|
|[Image circle formatter](Image-Circulator) |[Berk Gureken](https://github.com/bureken) |
|
||||||
|
|[Independent RSA Communication Algorithm](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/RSA_Communication)|[Miguel Santos](https://github.com/wi6n3l)|
|
||||||
|[Instadp Web Scrapper](InstadpShower)|[Psychiquest](https://github.com/psychiquest)|
|
|[Instadp Web Scrapper](InstadpShower)|[Psychiquest](https://github.com/psychiquest)|
|
||||||
|
|[Instagram Video Downloader](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/insta_video_downloader)|[Shobhit Bhosure](https://github.com/shobhit99) |
|
||||||
|
|[JSON file to YAML convertor](https://github.com/saksham117/Awesome-Python-Scripts/tree/master/json-to-yaml)|[Saksham Basandrai](https://github.com/saksham117)|
|
||||||
|[Keylogger](Keylogger) |[Preet Mishra](https://github.com/preetmishra) |
|
|[Keylogger](Keylogger) |[Preet Mishra](https://github.com/preetmishra) |
|
||||||
|
|[Medium Article Downloader](medium_article_downloader)|[coolsonu39](https://github.com/coolsonu39)|
|
||||||
|[Minecraft Server in background](Minecraft_server_in_background)|[Max von Forell](https://github.com/mvforell)|
|
|[Minecraft Server in background](Minecraft_server_in_background)|[Max von Forell](https://github.com/mvforell)|
|
||||||
|[Own IP locator](Location_Of_Own_IP_Adress)|[Chris]()|
|
|[Own IP locator](Location_Of_Own_IP_Adress)|[Chris]()|
|
||||||
|
|[PDF2text](PDF2text)|[QuangPH](https://github.com/quangph-1686a)|
|
||||||
|
|[PDFsplitter](PDFsplitter)|[Prathamesh-Ghatole](https://github.com/Prathamesh-Ghatole)|
|
||||||
|
|[PX to REM](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/PX-to-REM)|[Atthaphon Urairat](https://github.com/uatthaphon) |
|
||||||
|
|[Pdf to AudioBook Converter](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/PdfToAudio)|[Ayesha Gull](https://github.com/ayeshag7/)|
|
||||||
|
|[Plagiarism_detector](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Plagiarism_detector)|[Akshita Singhal](https://github.com/akshitasinghal4444)|
|
||||||
|[Port Scanner](Port_Scanner)|[Plutoberth](https://github.com/Plutoberth)|
|
|[Port Scanner](Port_Scanner)|[Plutoberth](https://github.com/Plutoberth)|
|
||||||
|
|[Pressure_Converter](https://github.com/E-wave112/Awesome-Python-Scripts/tree/master/Pressure_Converter)|[E-Wave](https://github.com/E-wave112)|
|
||||||
|
|[Pretty CSV](Pretty-CSV)|[Frizz925](https://github.com/Frizz925)|
|
||||||
|
|[PyRecorder](PyRecorder)|[Rocky Jain](https://github.com/jainrocky)|
|
||||||
|
|[py_based_music_player](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/py_based_music_player) | [Bhargav Kuvadiya](https://github.com/techdobz) |
|
||||||
|
|[Py_Cleaner](Py_Cleaner) | [Abhishek Dobliyal](https://github.com/Abhishek-Dobliyal)|
|
||||||
|[Python Algebra Solver](Algebra-Solver)|[Sengxay Xayachack](https://github.com/frankxayachack)|
|
|[Python Algebra Solver](Algebra-Solver)|[Sengxay Xayachack](https://github.com/frankxayachack)|
|
||||||
|[Random name generator](Random_Names_Generator)| [Ayush Bhardwaj](https://github.com/hastagAB)|
|
|[RSA Algorithm](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/RSA_Algorithm)|[Chinmay Rane](https://github.com/Chinmayrane16)|
|
||||||
|
|[RSA Key Pair Generator](RSA-key-pairs) | [Aditya Parikh](https://github.com/obiwan69) |
|
||||||
|[Random Password Generators](Random_Password_Generator)| [Hafpaf](https://github.com/hafpaf) and [Renderer-RCT2](https://github.com/Renderer-RCT2)|
|
|[Random Password Generators](Random_Password_Generator)| [Hafpaf](https://github.com/hafpaf) and [Renderer-RCT2](https://github.com/Renderer-RCT2)|
|
||||||
|
|[Random name generator](Random_Names_Generator)| [Ayush Bhardwaj](https://github.com/hastagAB)|
|
||||||
|
|[Random_Email_Generator](Random_Email_Generator)|[Shubham Garg](https://github.com/shub-garg)|
|
||||||
|
|[Remove-Duplicate-Files](Remove-Duplicate-Files)|[Aayushi Varma](https://github.com/aayuv17)|
|
||||||
|
|[Rock-Paper-Scissor Game](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Rock-Paper-Scissor)|[Punit Sakre](https://github.com/punitsakre23)|
|
||||||
|
|[send_whatsapp_message](send_whatsapp_message)|[Mukesh Prasad](https://github.com/mukeshprasad)|
|
||||||
|
|[Send messages to sqs in parallel](send_sqs_messages_in_parallel)|[Jinam Shah](https://github.com/jinamshah)|
|
||||||
|[Server Ping](Ping_Server)|[prince]()|
|
|[Server Ping](Ping_Server)|[prince]()|
|
||||||
|[Signature photo to PNG converter](signature2png)|[Rodolfo Ferro](https://github.com/RodolfoFerro)|
|
|[Signature photo to PNG converter](signature2png)|[Rodolfo Ferro](https://github.com/RodolfoFerro)|
|
||||||
|[Simple Webpage Parser](SimpleWebpageParser)|[Nitish Srivastava](https://github.com/nitish-iiitd)|
|
|[Simple Webpage Parser](SimpleWebpageParser)|[Nitish Srivastava](https://github.com/nitish-iiitd)|
|
||||||
|
@ -209,6 +186,38 @@ So far, the following projects have been integrated to this repo:
|
||||||
|[Pdf to AudioBook Converter](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/PdfToAudio)|[Ayesha Gull](https://github.com/ayeshag7/)|
|
|[Pdf to AudioBook Converter](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/PdfToAudio)|[Ayesha Gull](https://github.com/ayeshag7/)|
|
||||||
|[Countdown](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Countdown)|[Jeremias Gomes](https://github.com/j3r3mias)|
|
|[Countdown](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Countdown)|[Jeremias Gomes](https://github.com/j3r3mias)|
|
||||||
|[Object Detection](https://github.com/akshathmangudi/Object-Detection)|[Akshath Mangudi](https://github.com/akshathmangudi)|
|
|[Object Detection](https://github.com/akshathmangudi/Object-Detection)|[Akshath Mangudi](https://github.com/akshathmangudi)|
|
||||||
|
|[Spotify Downloader](spotify_downloader)|[Sagar Patel](https://github.com/sagar627)|
|
||||||
|
|[Squid installer for Ubuntu](Squid-Proxy-Installer-for-Ubuntu16)|[Berkay Demir]()| |
|
||||||
|
|[SSH Host adder](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/SSH_Host_Adder)|[NinoDoko](https://github.com/NinoDoko)|
|
||||||
|
|[Steg_Tool](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Steg_Tool/)|[Shankar JP](https://github.com/shankarjp)|
|
||||||
|
|[sudoku-solver](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/sudoku-solver) | [Rishabh Umrao](https://github.com/ayedaemon) |
|
||||||
|
|[Subtitle downloader](Subtitle-downloader)|[Kaushlendra Pratap](https://github.com/kaushl1998)|
|
||||||
|
|[TTS - Text to Speech Mp3](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/TTS_Text_to_Speech_Mp3)|[Antonio Andrade](https://github.com/xAndrade)|
|
||||||
|
|[Take Screenshot](Take_screenshot)|[Moad Mohammed Elhebri](https://github.com/moadmmh)|
|
||||||
|
|[Tambola_Ticket_Generator](Tambola_Ticket_Generator)|[Amandeep_Singh](https://github.com/Synster)|
|
||||||
|
|[Test Your Internet Speed](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/TestMyInternetSpeed)|[TheSmartDeveloperr](https://github.com/thesmartdeveloperr)|
|
||||||
|
|[TicTacToe AI and 2 players](https://github.com/ShadowHunter15/Awesome-Python-Scripts/tree/master/TicTacToe_AI_and_2_players) | [Omar Sameh](https://github.com/ShadowHunter15) |
|
||||||
|
|[To Do Bot](To%20Do%20Bot) | [Darshan Patel](https://github.com/DarshanPatel11)|
|
||||||
|
|[Top_News](Top_News)|[Attupatil](https://github.com/Attupatil)|
|
||||||
|
|[Translate CLI](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/TranslateCLI)|[Rodrigo Oliveira](https://github.com/rodrigocam)|
|
||||||
|
|[URL shortener](url_shortener)|[Sam Ebison](https://github.com/ebsa491)|
|
||||||
|
|[Upload Files to S3](Upload_files_to_s3)|[Jayram Nai](https://github.com/jramnai)|
|
||||||
|
|[Vinegère Cipher](vigenere_cipher)|[victoni](https://github.com/victoni)|
|
||||||
|
|[Web proxy](Proxy-Request)|[Nikhil Kumar Singh](https://github.com/nikhilkumarsingh)|
|
||||||
|
|[Website Url Detector](Website_Url_Detector)|[sonniki](https://github.com/sonniki)|
|
||||||
|
|[Website blocker](Website-Blocker)|[Ayush Bhardwaj](https://github.com/hastagAB)|
|
||||||
|
|[WiFi Password Viewer](Wifi-Password)|[Sagar Patel](https://github.com/sagar627)|
|
||||||
|
|[Wikipedia-Search](https://github.com/hastagAB/Awesome-Python-Scripts/tree/master/Wikipedia-Search)|[Nissaar](https://github.com/Nissaar) |
|
||||||
|
|[Word Frequency Counter](Word_Frequency_Counter)|[sonniki](https://github.com/sonniki)|
|
||||||
|
|[Word generator](Word-generator)|[TGLIDE](https://github.com/TGlide)|
|
||||||
|
|[Work log generator](Work_Log_Generator)|[Maël Pedretti](https://github.com/73VW)|
|
||||||
|
|[X Scrapper](X_Scrapper)|[Shreeram](https://github.com/iamshreeram)|
|
||||||
|
|[YTS Torrents](yts_torrents)|[Mayank Nader](https://github.com/makkoncept)|
|
||||||
|
|[Yoda-speak Translator](speak_like_yoda)|[sonniki](https://github.com/sonniki) |
|
||||||
|
|[Youtube video downloader](Youtube_Video_Downloader)|[Christopher He](https://github.com/hecris)|
|
||||||
|
|[Zabbix API](zabbix_api)|[msg4sunny](https://github.com/msg4sunny)|
|
||||||
|
|[Zip password cracker](zip_password_cracker)|[umar abdullahi](https://github.com/umarbrowser)|
|
||||||
|
|[Task Scheduler](Task-Scheduler)|[heysagnik](https://github.com/heysagnik)|
|
||||||
|
|
||||||
## How to use:
|
## How to use:
|
||||||
- Clone/Download the directory and navigate to each folder. Or...
|
- Clone/Download the directory and navigate to each folder. Or...
|
||||||
|
|
85
Task-Scheduler/Readme.md
Normal file
85
Task-Scheduler/Readme.md
Normal file
|
@ -0,0 +1,85 @@
|
||||||
|
# Task Scheduler
|
||||||
|
|
||||||
|
This Python script, `task_scheduler.py`, is a simple command-line task management application that allows users to add, view, and delete tasks with due dates. The application stores task data in a JSON file.
|
||||||
|
|
||||||
|
## How to Use
|
||||||
|
|
||||||
|
1. **Installation**:
|
||||||
|
|
||||||
|
- Make sure you have Python installed on your system.
|
||||||
|
|
||||||
|
2. **Run the Application**:
|
||||||
|
|
||||||
|
- Open a terminal or command prompt.
|
||||||
|
- Navigate to the directory where `task_scheduler.py` is located.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cd /path/to/directory
|
||||||
|
```
|
||||||
|
|
||||||
|
- Run the script:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ python task_scheduler.py
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Menu Options**:
|
||||||
|
|
||||||
|
- The application provides the following menu options:
|
||||||
|
|
||||||
|
- **Add Task**: Allows you to add a new task with a name and due date (in YYYY-MM-DD format).
|
||||||
|
|
||||||
|
- **View Tasks**: Displays a list of tasks with their names and due dates.
|
||||||
|
|
||||||
|
- **Delete Task**: Lets you delete a task by specifying its number in the list.
|
||||||
|
|
||||||
|
- **Quit**: Exits the application.
|
||||||
|
|
||||||
|
4. **Data Storage**:
|
||||||
|
|
||||||
|
- The tasks are stored in a JSON file named `tasks.json` in the same directory as the script.
|
||||||
|
|
||||||
|
5. **Error Handling**:
|
||||||
|
|
||||||
|
- The application handles various errors, such as invalid date format or task numbers.
|
||||||
|
|
||||||
|
## Example Usage
|
||||||
|
|
||||||
|
1. **Add Task**:
|
||||||
|
|
||||||
|
- Choose option 1.
|
||||||
|
- Enter a task name.
|
||||||
|
- Enter the due date in YYYY-MM-DD format.
|
||||||
|
|
||||||
|
2. **View Tasks**:
|
||||||
|
|
||||||
|
- Choose option 2 to see a list of added tasks with their due dates.
|
||||||
|
|
||||||
|
3. **Delete Task**:
|
||||||
|
|
||||||
|
- Choose option 3.
|
||||||
|
- Enter the number of the task you want to delete.
|
||||||
|
|
||||||
|
4. **Quit**:
|
||||||
|
|
||||||
|
- Choose option 4 to exit the application.
|
||||||
|
|
||||||
|
## Data Persistence
|
||||||
|
|
||||||
|
The application loads tasks from the `tasks.json` file when it starts and saves tasks back to the file after any additions or deletions. This ensures that your tasks are retained even when the application is closed and reopened.
|
||||||
|
|
||||||
|
## Error Handling
|
||||||
|
|
||||||
|
The application checks for invalid date formats and incorrect task numbers, providing appropriate error messages to guide the user.
|
||||||
|
|
||||||
|
## Important Notes
|
||||||
|
|
||||||
|
- Please ensure that you have Python installed on your system.
|
||||||
|
- Make sure to provide dates in the specified format (YYYY-MM-DD).
|
||||||
|
- Be cautious when deleting tasks, as this action is irreversible.
|
||||||
|
|
||||||
|
## Author
|
||||||
|
|
||||||
|
This Python Task Scheduler was created by Sagnik Sahoo.
|
||||||
|
|
||||||
|
Feel free to customize and extend this application to suit your needs. Enjoy managing your tasks!
|
1
Task-Scheduler/requirements.txt
Normal file
1
Task-Scheduler/requirements.txt
Normal file
|
@ -0,0 +1 @@
|
||||||
|
pytz==2021.3
|
74
Task-Scheduler/scheduler.py
Normal file
74
Task-Scheduler/scheduler.py
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
import datetime
|
||||||
|
|
||||||
|
# Define the data file to store tasks
|
||||||
|
TASKS_FILE = "tasks.json"
|
||||||
|
|
||||||
|
# Load tasks from the data file (if it exists)
|
||||||
|
tasks = []
|
||||||
|
|
||||||
|
if os.path.exists(TASKS_FILE):
|
||||||
|
with open(TASKS_FILE, "r") as file:
|
||||||
|
tasks = json.load(file)
|
||||||
|
|
||||||
|
def save_tasks():
|
||||||
|
# Save tasks to the data file
|
||||||
|
with open(TASKS_FILE, "w") as file:
|
||||||
|
json.dump(tasks, file)
|
||||||
|
|
||||||
|
def add_task():
|
||||||
|
task_name = input("Enter the task name: ")
|
||||||
|
due_date = input("Enter the due date (YYYY-MM-DD): ")
|
||||||
|
|
||||||
|
try:
|
||||||
|
due_date = datetime.datetime.strptime(due_date, "%Y-%m-%d").date()
|
||||||
|
except ValueError:
|
||||||
|
print("Invalid date format. Please use YYYY-MM-DD.")
|
||||||
|
return
|
||||||
|
|
||||||
|
tasks.append({"name": task_name, "due_date": due_date})
|
||||||
|
save_tasks()
|
||||||
|
print(f"Task '{task_name}' added successfully!")
|
||||||
|
|
||||||
|
def view_tasks():
|
||||||
|
print("Tasks:")
|
||||||
|
for idx, task in enumerate(tasks, start=1):
|
||||||
|
print(f"{idx}. {task['name']} (Due: {task['due_date']})")
|
||||||
|
|
||||||
|
def delete_task():
|
||||||
|
view_tasks()
|
||||||
|
task_index = input("Enter the task number to delete: ")
|
||||||
|
|
||||||
|
try:
|
||||||
|
task_index = int(task_index)
|
||||||
|
if 1 <= task_index <= len(tasks):
|
||||||
|
deleted_task = tasks.pop(task_index - 1)
|
||||||
|
save_tasks()
|
||||||
|
print(f"Task '{deleted_task['name']}' deleted successfully!")
|
||||||
|
else:
|
||||||
|
print("Invalid task number.")
|
||||||
|
except ValueError:
|
||||||
|
print("Invalid input. Please enter a valid task number.")
|
||||||
|
|
||||||
|
while True:
|
||||||
|
print("\nTask Scheduler Menu:")
|
||||||
|
print("1. Add Task")
|
||||||
|
print("2. View Tasks")
|
||||||
|
print("3. Delete Task")
|
||||||
|
print("4. Quit")
|
||||||
|
|
||||||
|
choice = input("Enter your choice: ")
|
||||||
|
|
||||||
|
if choice == "1":
|
||||||
|
add_task()
|
||||||
|
elif choice == "2":
|
||||||
|
view_tasks()
|
||||||
|
elif choice == "3":
|
||||||
|
delete_task()
|
||||||
|
elif choice == "4":
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
print("Invalid choice. Please choose a valid option.")
|
||||||
|
|
||||||
|
print("Goodbye!")
|
|
@ -1,7 +1,7 @@
|
||||||
requests==2.31.0
|
requests==2.31.0
|
||||||
urllib3==1.26.5
|
urllib3==1.26.17
|
||||||
requests==2.31.0
|
requests==2.31.0
|
||||||
urllib3==1.26.5
|
urllib3==1.26.17
|
||||||
py4j==0.10.4
|
py4j==0.10.4
|
||||||
BeautifulSoup==3.2.0
|
BeautifulSoup==3.2.0
|
||||||
numpy==1.22.0
|
numpy==1.22.0
|
||||||
|
|
22
X_Scrapper/README.md
Normal file
22
X_Scrapper/README.md
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# X Scrapper
|
||||||
|
Use to scrape the tweets from given username (including the metadata of the tweet - location of user, views, likes etc.) using `tweepy`.
|
||||||
|
|
||||||
|
## Use case
|
||||||
|
1. To analyze the (sentiment trend of the given user)[https://github.com/iamshreeram/twitter-senti-analyzer] over the period of time (on given topic or anything)
|
||||||
|
2. Further analysis of user behaviour using geo-location, time of tweets,
|
||||||
|
|
||||||
|
### Requirements
|
||||||
|
|
||||||
|
Python 3.xx
|
||||||
|
tweepy
|
||||||
|
```bash
|
||||||
|
pip install tweepy
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
### Usage
|
||||||
|
python main.py <twitter_username>
|
||||||
|
|
||||||
|
|
||||||
|
### Note :
|
||||||
|
1. This requires you to have the consumer key, consumer secret, access key and access secret from your x.com account
|
1
X_Scrapper/requirements.txt
Normal file
1
X_Scrapper/requirements.txt
Normal file
|
@ -0,0 +1 @@
|
||||||
|
tweepy==4.3.0
|
77
X_Scrapper/x_scraper.py
Normal file
77
X_Scrapper/x_scraper.py
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
# encoding: utf-8
|
||||||
|
|
||||||
|
import sys
|
||||||
|
try:
|
||||||
|
import tweepy #https://github.com/tweepy/tweepy
|
||||||
|
except ImportError:
|
||||||
|
print("You'll need tweepy instaled on your system.")
|
||||||
|
sys.exit()
|
||||||
|
try:
|
||||||
|
import csv
|
||||||
|
except ImportError:
|
||||||
|
print("You'll need the python csv module instaled on your system.")
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
consumer_key = "xxx"
|
||||||
|
consumer_secret = "yyy"
|
||||||
|
access_key = "aa-zzzz"
|
||||||
|
access_secret = "bbb"
|
||||||
|
|
||||||
|
def get_all_tweets(screen_name):
|
||||||
|
|
||||||
|
if (consumer_key == ""):
|
||||||
|
print("You need to set up the script first. Edit it and add your keys.")
|
||||||
|
return
|
||||||
|
|
||||||
|
#Twitter only allows access to a users most recent 3240 tweets with this method
|
||||||
|
|
||||||
|
#authorize x, initialize tweepy
|
||||||
|
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
|
||||||
|
auth.set_access_token(access_key, access_secret)
|
||||||
|
api = tweepy.API(auth)
|
||||||
|
|
||||||
|
#initialize a list to hold all the tweepy Tweets
|
||||||
|
alltweets = []
|
||||||
|
|
||||||
|
#make initial request for most recent tweets (200 is the maximum allowed count)
|
||||||
|
new_tweets = api.user_timeline(screen_name = screen_name,count=200)
|
||||||
|
|
||||||
|
#save most recent tweets
|
||||||
|
alltweets.extend(new_tweets)
|
||||||
|
|
||||||
|
#save the id of the oldest tweet less one
|
||||||
|
oldest = alltweets[-1].id - 1
|
||||||
|
|
||||||
|
#keep grabbing tweets until there are no tweets left to grab
|
||||||
|
while len(new_tweets) > 0:
|
||||||
|
print("getting tweets before %s" % (oldest))
|
||||||
|
|
||||||
|
#all subsiquent requests use the max_id param to prevent duplicates
|
||||||
|
new_tweets = api.user_timeline(screen_name = screen_name,count=200,max_id=oldest)
|
||||||
|
|
||||||
|
#save most recent tweets
|
||||||
|
alltweets.extend(new_tweets)
|
||||||
|
|
||||||
|
#update the id of the oldest tweet less one
|
||||||
|
oldest = alltweets[-1].id - 1
|
||||||
|
|
||||||
|
print("...%s tweets downloaded so far" % (len(alltweets)))
|
||||||
|
|
||||||
|
#transform the tweepy tweets into a 2D array that will populate the csv
|
||||||
|
outtweets = [[tweet.id_str, tweet.created_at, tweet.text] for tweet in alltweets]
|
||||||
|
|
||||||
|
#write the csv
|
||||||
|
with open('%s_tweets.csv' % screen_name, 'w') as f:
|
||||||
|
writer = csv.writer(f)
|
||||||
|
writer.writerow(["id","created_at","text"])
|
||||||
|
writer.writerows(outtweets)
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
if (len(sys.argv) == 2):
|
||||||
|
get_all_tweets(sys.argv[1])
|
||||||
|
else:
|
||||||
|
print("Please add the x account you want to back up as an argument.")
|
|
@ -1,5 +1,5 @@
|
||||||
certifi==2022.12.7
|
certifi==2023.7.22
|
||||||
chardet==3.0.4
|
chardet==3.0.4
|
||||||
idna==2.10
|
idna==2.10
|
||||||
requests==2.31.0
|
requests==2.31.0
|
||||||
urllib3==1.26.5
|
urllib3==1.26.18
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Pillow==9.3.0
|
Pillow==10.0.1
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
beautifulsoup4==4.9.3
|
beautifulsoup4==4.9.3
|
||||||
certifi==2022.12.7
|
certifi==2023.7.22
|
||||||
chardet==3.0.4
|
chardet==3.0.4
|
||||||
idna==2.10
|
idna==2.10
|
||||||
pkg-resources==0.0.0
|
pkg-resources==0.0.0
|
||||||
requests==2.31.0
|
requests==2.31.0
|
||||||
soupsieve==2.0.1
|
soupsieve==2.0.1
|
||||||
urllib3==1.26.5
|
urllib3==1.26.17
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
certifi==2022.12.7
|
certifi==2023.7.22
|
||||||
chardet==3.0.4
|
chardet==3.0.4
|
||||||
idna==2.8
|
idna==2.8
|
||||||
requests==2.31.0
|
requests==2.31.0
|
||||||
urllib3==1.26.5
|
urllib3==1.26.18
|
||||||
|
|
Loading…
Reference in New Issue
Block a user