Salman Qureshi
Salman Qureshi's Blog

Salman Qureshi's Blog

How To Develop Your Own Built-With Tool & Deploy It: Step-By-Step

How To Develop Your Own Built-With Tool & Deploy It: Step-By-Step

Salman Qureshi

Published on May 27, 2021

2 min read

Subscribe to my newsletter and never miss my upcoming articles

Hello again this time I am back with the idea that we can develop own system that can do reverse engineering to any website and in return can provide you all the details and information how that website is built what technologies do the use and what are their tech stack.

This tutorial is based on python programming language and I will be discussing the tools that can we use to make your on website analyser.

1) built-with: this is the tool that we are going to use to receive information about tech stacks of the website and it's just when being called IT returns the object containing all information about the website it's little bit slow but can be optimised according to the taste.

2) fastAPI: we use this to serve our application.

3) ReactJS: this app is for those who just wanna go ahead and create their own front and so that where users can submit the website of which divine get details and on receiving can get the details about the website.

This is how our 'main.py looks like: The value of our API

from fastapi import FastAPI
import builtwith
from fastapi.middleware.cors import CORSMiddleware
from fastapi.encoders import jsonable_encoder
from fastapi.responses import JSONResponse
from pydantic import BaseModel
import json

app = FastAPI()

# CORS origin fix
''' For specific domains '''
# origins = [
#     "http://localhost.tiangolo.com",
#     "https://localhost.tiangolo.com",
#     "http://localhost",
#     "http://localhost:8080",
#     "http://localhost:3000v"
# ]

app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

# How to page
@app.get("/")
async def root():
    return {"message": "Hello World"}

# Main Handler For API
@app.get("/get/{url}")
async def root(url: str):
    newUrl = 'http://' + url
    print(newUrl)

    data = builtwith.builtwith(newUrl)

    return JSONResponse(content=builtwith.builtwith(newUrl))
    # return {"message": "Hello World"}

For those who wanted see the full source code and the source code of a friend and that is made using react JS. Here is the GitHub repository.

You can test the API here

Integrate API to your own application by calling this node:

https://glacial-taiga-01626.herokuapp.com/get/<exaple.com>

Front-End hosted on netlify

Click Here

 
Share this
Proudly part of