Asynchronous Flask App to scrape and validate links via GUI or REST API
Why use the web-link-tester?
- Test your production site via GUI or programmatically to ensure no bad page routes or forgotten references.
- It's free.
docker run -d --name link-tester -p 8080:8080 circa10a/web-link-tester
Access via http://localhost:8080
python main.py
Access via http://localhost:8080
Set environment variable
PORT
locally to change listening port from8080
curl -X POST -H "content-type: application/json" --data '{"url": "https://www.github.com"}' http://localhost:8080/api
$ curl -s -X POST -H "content-type: application/json" --data '{"url": "https://caleblemoine.dev"}' http://localhost:8080/api
{
"links": [
{
"code": 999,
"url": "https://www.linkedin.com/in/caleblemoine/"
},
{
"code": 200,
"url": "https://github.com/circa10a"
},
{
"code": 200,
"url": "https://github.com/circa10a/express-jwt"
},
{
"code": 200,
"url": "https://github.com/pyouroboros/ouroboros"
},
{
"code": 200,
"url": "https://github.com/circa10a/filter-object-array"
},
{
"code": 200,
"url": "https://github.com/circa10a/easy-soap-request"
},
{
"code": 200,
"url": "https://medium.com/better-programming/how-to-perform-soap-requests-with-node-js-4a9627070eb6"
},
{
"code": 200,
"url": "https://github.com/circa10a/web-link-tester"
},
{
"code": 200,
"url": "https://github.com/circa10a/Device-Monitor-Dashboard"
},
{
"code": 200,
"url": "https://caleblemoine.dev/monitor/"
},
{
"code": 200,
"url": "https://hub.docker.com/u/circa10a"
},
{
"code": 200,
"url": "https://caleblemoine.dev/gitfolio/"
},
{
"code": 999,
"url": "https://www.linkedin.com/in/caleblemoine/"
},
]
}
- Utilizes gunicorn for multiple workers/threading.
- Python 3
- BeautifulSoup4
- Jquery