This repository has been archived on 2025-09-28. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
linkmapy/linkmapy.py

40 lines
1,017 B
Python
Raw Permalink Normal View History

2021-12-09 10:55:29 +01:00
#!/usr/bin/env python3
# Copyright (c) 2021 Julian Müller (W13R)
import asyncio
2021-12-09 10:55:29 +01:00
from lib.args import argparser
from lib.graph import pyvis_graph_from_linkmap
from lib.linkmap_from_sitelinks import LinkMapFromSitelinksGenerator
2021-12-09 10:55:29 +01:00
async def main(args):
2021-12-09 10:55:29 +01:00
nm = LinkMapFromSitelinksGenerator()
nm.site_request_max_len = args.http_download_limit
nm.enable_log = args.log
starturl = args.url
if not (starturl.startswith("https://") or starturl.startswith("http://")):
starturl = "https://" + starturl
await nm.generate(
starturl,
max_depth=args.max_depth,
max_links_per_site=args.max_links_per_site
)
2021-12-09 10:55:29 +01:00
if args.dump:
2021-12-09 10:55:29 +01:00
print(
"\n".join(str(c) for c in nm.get_linkmap().link_connections)
)
else:
pyvis_network_graph = pyvis_graph_from_linkmap(nm.get_linkmap(), heading=starturl)
2021-12-09 10:55:29 +01:00
pyvis_network_graph.show("output.html")
if __name__ == "__main__":
args = argparser.parse_args()
asyncio.run(main(args))