import re
import sys

def extract_links(filename):
    links = []
    with open(filename, 'r') as f:
        for line in f:
            links.extend(re.findall(r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', line))
    return links

if __name__ == '__main__':
    if len(sys.argv) != 2:
        print('Usage: python {} <filename>'.format(sys.argv[0]))
        sys.exit(1)
    links = extract_links(sys.argv[1])
    with open('links.txt', 'w') as f:
        for link in links:
            f.write('{}\n'.format(link))