从用户(URL)获取参数

时间:2013-12-02 21:16:26

标签: python shell scripting

有谁知道我怎么能把这个URL作为Python中的参数作为页面? 只是为了在脚本中读取内容,用户输入shell并将其作为参数传递,以使脚本更具可移植性?

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() 

1 个答案:

答案 0 :(得分:1)

看起来你已经开始使用命令行参数,但只是为了给你一个例子来说明你可以做这样的事情:

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)

然后像这样从shell运行它 python test.py http://www.4chan.org

这是一个关于命令行参数的教程,可以帮助您理解这个片段http://www.tutorialspoint.com/python/python_command_line_arguments.htm

如果我错过了解你的问题,你能告诉我吗?在我阅读之后,我对这个含义没有信心。