【问题标题】:Taking an argument from user (URL)从用户(URL)获取参数
【发布时间】:2013-12-02 21:16:25
【问题描述】:

有谁知道我如何将 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() 

【问题讨论】:

    标签: python shell scripting


    【解决方案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

    这里有一个关于命令行参数的教程,它可能比这个 sn-p http://www.tutorialspoint.com/python/python_command_line_arguments.htm 更能帮助你理解

    如果我错过了理解你的问题,你能告诉我吗?读完后,我对其中的含义没有信心。

    【讨论】:

    • 感谢您抽出宝贵时间提供帮助,这对您有很大帮助。很遗憾它与我的样板文件混在一起,但它必须这样做。
    猜你喜欢
    • 1970-01-01
    • 2014-05-12
    • 2016-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多