クラス内にある関数spiderを、url、word、maxPagesなどのパラメータで呼び出すとします。クラス内で関数(メソッド)を呼び出す
私はspider()が3つ以上の引数を取得するため、エラーが発生します(代わりに4つの引数を取得します)。
クラス内の関数をどのように正しく呼び出すことができるか教えてください。
私のコードは次のようになります。ポストで
import HTMLParser
from urllib2 import urlopen
from pandas.io.parsers import TextParser
class LinkParser(HTMLParser.HTMLParser):
#other methods
def spider(url,word,maxPages):
pagesTovisit = [url]
numberVisited=0
foundWord = False
maxPages = 0
while numberVisited < maxPages and pagesTovisit != [] and not foundWord:
numberVisited = numberVisited +1
url = pagesTovisit[0]
pagesTovisit = pagesTovisit[1:]
try:
print numberVisited, "Visiting:", url
parser = LinkParser()
data, links = parser.getLinks(url)
if data.find(word)>-1:
foundWord = True
pagesTovisit = pagesTovisit +links
print "Success"
except:
print "failed"
if foundWord:
print "the word",word,"was found at",url
else:
print "word not found"
url = raw_input("enter the url: ")
word = raw_input("enter the word to search for: ")
maxPages = raw_input("the max pages you want to search in for are: ")
lp=LinkParser()
lp.spider(url,word,maxPages)
私はあなたの質問のタイトルをグーグルで探検し、答えを見つけました...既にStackOverflowにあります。うーん。 –
あなたはそれがなぜだと言っていたのですか? –