All Projects → hmol → Linkcrawler

hmol / Linkcrawler

Licence: mit
Find broken links in webpage

Projects that are alternatives of or similar to Linkcrawler

Restclient
🦄 Simple HTTP and REST client for Unity based on Promises, also supports Callbacks! 🎮
Stars: ✭ 675 (+561.76%)
Mutual labels:  http-requests
Easygo
基于Kotlin、OkHttp的声明式网络框架,像写HTML界面一样写网络调用代码
Stars: ✭ 40 (-60.78%)
Mutual labels:  http-requests
Mazu Editor
a minimalist text editor with syntax highlight, copy/paste, and search
Stars: ✭ 88 (-13.73%)
Mutual labels:  console-application
Gout
gout to become the Swiss Army Knife of the http client @^^@---> gout 是http client领域的瑞士军刀,小巧,强大,犀利。具体用法可看文档,如使用迷惑或者API用得不爽都可提issues
Stars: ✭ 749 (+634.31%)
Mutual labels:  http-requests
Breaker
Circuit breaker for HTTP requests in Elixir
Stars: ✭ 30 (-70.59%)
Mutual labels:  http-requests
Embedio
A tiny, cross-platform, module based web server for .NET
Stars: ✭ 1,007 (+887.25%)
Mutual labels:  http-requests
Htop
htop is an interactive text-mode process viewer for Unix systems. It aims to be a better 'top'.
Stars: ✭ 5,626 (+5415.69%)
Mutual labels:  console-application
Zui
⬢ Zsh User Interface library – CGI+DHTML-like rapid application development with Zsh
Stars: ✭ 95 (-6.86%)
Mutual labels:  console-application
Mattext
Simple matrix-style pager
Stars: ✭ 34 (-66.67%)
Mutual labels:  console-application
Pric
Simple zero-config tool to create Private Certificate Authority & issue locally-trusted development server certificates with any domain names you'd like. SSL certificates for development purposes.
Stars: ✭ 87 (-14.71%)
Mutual labels:  console-application
Supreme
A command line visual file manager for linux
Stars: ✭ 22 (-78.43%)
Mutual labels:  console-application
Kakoune
mawww's experiment for a better code editor
Stars: ✭ 7,593 (+7344.12%)
Mutual labels:  console-application
Logstash Input Http
Stars: ✭ 46 (-54.9%)
Mutual labels:  http-requests
Mtm
Perhaps the smallest useful terminal multiplexer in the world.
Stars: ✭ 677 (+563.73%)
Mutual labels:  console-application
Frosting
A stand-alone .NET runner and host for Cake.
Stars: ✭ 88 (-13.73%)
Mutual labels:  console-application
Pboy
a small .pdf management tool with a command-line UI
Stars: ✭ 662 (+549.02%)
Mutual labels:  console-application
Stormer
Wrappers for making load test with locust more convienient.
Stars: ✭ 41 (-59.8%)
Mutual labels:  http-requests
Easy Soap Request
Small Node.js library to make SOAP requests easier
Stars: ✭ 99 (-2.94%)
Mutual labels:  http-requests
Actix Ratelimit
Rate limiter framework for Actix web
Stars: ✭ 90 (-11.76%)
Mutual labels:  http-requests
Libcon.ahk
LibCon - AutoHotkey Library For Console Support
Stars: ✭ 50 (-50.98%)
Mutual labels:  console-application

LinkCrawler

Simple C# console application that will crawl the given webpage for broken image-tags and hyperlinks. The result of this will be written to output. Right now we have these outputs: console, csv, slack.

Why?

Because it could be useful to know when a webpage you have responsibility for displays broken links to it's users. I have this running continuously, but you don't have to. For instance, after upgrading your CMS, changing database-scheme, migrating content etc, it can be relevant to know if this did or did not not introduce broken links. Just run this tool one time and you will know exactly how many links are broken, where they link to, and where they are located.

Build

Clone repo 👉 open solution in Visual Studio 👉 build 👊

AppVeyor is used as CI, so when code is pushed to this repo the solution will get built and all tests will be run.

Branch Build status
develop Build status
master Build status

AppSettings

Key Usage
BaseUrl Base url for site to crawl
SuccessHttpStatusCodes HTTP status codes that are considered "successful". Example: "1xx,2xx,302,303"
CheckImages If true, <img src=".." will be checked
ValidUrlRegex Regex to match valid urls
Slack.WebHook.Url Url to the slack webhook. If empty, it will not try to send message to slack
Slack.WebHook.Bot.Name Custom name for slack bot
Slack.WebHook.Bot.IconEmoji Custom Emoji for slack bot
OnlyReportBrokenLinksToOutput If true, only broken links will be reported to output.
Slack.WebHook.Bot.MessageFormat String format message that will be sent to slack
Csv.FilePath File path for the CSV file
Csv.Overwrite Whether to overwrite or append (if file exists)
Csv.Delimiter Delimiter between columns in the CSV file (like ',' or ';')
PrintSummary If true, a summary will be printed when all links have been checked.

Ther also is a <outputProviders> that controls what output should be used.

Output to file

LinkCrawler.exe >> crawl.log will save output to file. Slack

Output to slack

If configured correctly, the defined slack-webhook will be notified about broken links. Slack

##How I use it I have it running as an Webjob in Azure, scheduled every 4 days. It will notify the slack-channel where the editors of the website dwells.

Creating a webjob is simple. Just put your compiled project files (/bin/) inside a .zip, and upload it. Slack

Schedule it.

Slack

The output of a webjob is available because Azure saves it in log files. Slack

Read more about Azure Webjobs: https://azure.microsoft.com/en-us/documentation/articles/web-sites-create-web-jobs/

Read more about Slack incoming webhooks: https://api.slack.com/incoming-webhooks

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].