Taking an argument from user (URL)
Question: Does anyone know how I would be able to take the the URL as an argument in
Python as page? Just to readline in the script, user inputs into the shell and
pass it through as an argument just to make the script more portable?

    
    
    import sys, re
    import webpage_get
    
    def print_links(page): 
         ''' find all hyperlinks on a webpage passed in as input and 
    print ''' 
         print '\n[*] print_links()' 
    
         links = re.findall(r'(\http://\w+\.\w+[-_]*\.*\w+\.*?\w+\.*?\w+\.*[//]*\.*?\w+        [//]*?\w+[//]*?\w+)', page) 
         # sort and print the links 
         links.sort() 
         print '[+]', str(len(links)), 'HyperLinks Found:' 
         for link in links: 
             print link
    
    def main(): 
         # temp testing url argument 
         sys.argv.append('http://www.4chan.org') 
    
         # Check args 
         if len(sys.argv) != 2: 
             print '[-] Usage: webpage_getlinks URL' 
             return 
    
         # Get the web page 
         page = webpage_get.wget(sys.argv[1]) 
         # Get the links 
         print_links(page)
    
    if __name__ == '__main__': 
     main() 
    


Answer: It looks like you kind of got started with command line arguments but just to
give you an example for this specific situation you could do something like
this:

    
    
    def main(url):
            page = webpage_get.wget(url)
            print_links(page)
    
    if __name__ == '__main__':
        url = ""
        if len(sys.argv >= 1):
           url = sys.argv[0]
    
        main(url)
    

Then run it from shell like this `python test.py http://www.4chan.org`

Here is a tutorial on command line arguments which may help your understanding
more than this snippet
<http://www.tutorialspoint.com/python/python_command_line_arguments.htm>

Can you let me know if I miss understood your question? I didn't feel to
confident in the meaning after I read it.

