Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!



lnkckr is a link checking library with command-line script linkcheck. It's intended to be used to check broken links and it can be interrupted at any time, then resumes from saved JSON file.

It supports Python 2.7 and Python 3.



pip install lnkckr


linkcheck [-c CHECKER] [-u|--update] [-f FILE] [-j JSON] [-s STATUS] [-x EXCLUDE_STATUS]
Arugment Detail
CHECKER what checker used to process FILE, see Checkers below.
-u or --update update the JSON with input file. Wihout this, when JSON used, FILE is ignored.
FILE the input filename or URL.
JSON the filename of saved progress file. If the FILE is a filename, then FILE can be omitted, an filename is assigned automatically unless using different filename is desired.
STATUS indicates re-check url with specific status.
EXCLUDE_STATUS a CSV which lists what links with specified status will not be shown in report section. Default is unchecked,200.


Using lnkckr to check a Blogger XML Export file


Checker Description
list input file is a list of links, one URL per line.
html input file is a HTML file.
blogger input file is a Blogger XML Export file.


Symbol Description
[---] the url hasn't been checked.
[???] where the ??? is the HTTP status code.
[###] means the fragment in the URL can't be found in the response body in format of id="<fragment>" or name="<fragment>".
[SCH] unsupported HTTP scheme.
[SKP] the url is skipped.
[RRR] the url results reaching maximal redirection limit.
[XXX] unknown error.
[000] timeout when trying to check the url.


The output of lnkckr is similar to my two-year-old shell script, I have also included it in the repository since lnkckr is kind of continuation of, here is a blog post about it.

  • bea: Blogger Export Analyzer, not directly related, but also uses the Blogger XML Export file.
  • announcement: the blog post of lnkckr.
  • Command-line posting script, it uses lnkckr to check links.


lnkckr is licensed under the MIT License, see COPYING.
Copyright (C) 2013 by Yu-Jie Lin

Recent activity

Yu-Jie Lin

Yu-Jie Lin pushed 4 commits to livibetter/lnkckr

24e57ea - finalize v0.2.0
01885df - source code encoding issue on Unicode characters on line ~229 with Python 2
ead56fc - add -x or --exclude-status option for specifying excluded statuses from report section. Closes #2
c16e76c - include linkcheck for checking
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.