Я хотел вызвать функциональный паук, который находится внутри класса с такими параметрами, как 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. Хм. –
Тогда почему вы это сказали и почему вы звоните, как будто это ?! –