Refactored, changed to httx and async instead of requests and threads

This commit is contained in:
Julian Müller 2022-08-13 13:15:50 +02:00
parent 56b850dc4f
commit 2d2afe7930
5 changed files with 84 additions and 90 deletions

View file

@ -1,13 +1,16 @@
#!/usr/bin/env python3
# Copyright (c) 2021 Julian Müller (W13R)
import asyncio
from lib.args import argparser
from lib.graph import pyvis_graph_from_linkmap
from lib.linkmap_from_sitelinks import LinkMapFromSitelinksGenerator
if __name__ == "__main__":
args = argparser.parse_args()
async def main(args):
nm = LinkMapFromSitelinksGenerator()
nm.site_request_max_len = args.http_download_limit
nm.enable_log = args.log
@ -15,16 +18,22 @@ if __name__ == "__main__":
starturl = args.url
if not (starturl.startswith("https://") or starturl.startswith("http://")):
starturl = "https://" + starturl
nm.generate(starturl, max_depth=args.max_depth, max_links_per_site=args.max_links_per_site)
await nm.generate(
starturl,
max_depth=args.max_depth,
max_links_per_site=args.max_links_per_site
)
if args.dump:
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)
pyvis_network_graph.show("output.html")
if __name__ == "__main__":
args = argparser.parse_args()
asyncio.run(main(args))