【发布时间】:2013-12-08 16:00:03
【问题描述】:
我有两套脚本。一个用于下载网页,另一个用于从网页下载链接。它们都运行,但链接脚本不返回任何脚本。谁能看到或告诉我为什么?
网页脚本;
import sys, urllib
def getWebpage(url):
print '[*] getWebpage()'
url_file = urllib.urlopen(url)
page = url_file.read()
return page
def main():
sys.argv.append('http://www.bbc.co.uk')
if len(sys.argv) != 2:
print '[-] Usage: webpage_get URL'
return
else:
print getWebpage(sys.argv[1])
if __name__ == '__main__':
main()
链接脚本
import sys, urllib, re
import getWebpage
def print_links(page):
print '[*] print_links()'
links = re.findall(r'\<a.*href\=.*http\:.+', page)
links.sort()
print '[+]', str(len(links)), 'HyperLinks Found:'
for link in links:
print link
def main():
sys.argv.append('http://www.bbc.co.uk')
if len(sys.argv) != 2:
print '[-] Usage: webpage_links URL'
return
page = webpage_get.getWebpage(sys.argv[1])
print_links(page)
【问题讨论】:
-
从the command line 运行它。您应该看到
ImportError或NameError(getWebpage与webpage_get)。 -
这看起来不对:
import getWebpage鉴于此用法:page = webpage_get.getWebpage(sys.argv[1])。假设你的文件名为webpage_get.py,并且你在同一目录中有一个名为\_\_init\_\_.py的文件,你想要这个:from webpage_get import getWebpage; page = getWebpage(sys.argv[1]) -
另外,您在第二个脚本中没有调用
main(),所以它可能什么都不做。 -
我已经修好了。谢谢你。这是对 main 的调用。我认为它会从第一个脚本中获取。
-
感谢@J.F.Sebastian 和hughdbrown
标签: python