0
我有兩套腳本。一個下載一個網頁,另一個下載網頁上的鏈接。它們都運行,但鏈接腳本不返回任何腳本。任何人都可以看到或告訴我爲什麼?用Python下載鏈接
網頁腳本;
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)
來看,它從[命令行](http://learnpythonthehardway.org/book/appendixa.html)。您應該看到'ImportError'或'NameError'('getWebpage' vs.'webpage_get')。 – jfs
這看起來不正確:'import getWebpage'給出這種用法:'page = webpage_get.getWebpage(sys.argv [1])''。假設您的文件名爲'webpage_get.py',並且yoiu在同一個目錄中有一個名爲'\ _ \ _ init \ _ \ _。py'的文件,您需要這樣做:'from webpage_get import getWebpage; page = getWebpage(sys.argv [1])' – hughdbrown
另外,你在第二個腳本中沒有對'main()'的調用,所以它可能根本沒有任何作用。 – hughdbrown