Python Crawler - AttributeError: Экземпляр сканера не имеет атрибута 'url' - PullRequest
0 голосов
/ 22 ноября 2011

Я пытаюсь выучить классы на python:

#!/usr/bin/env python
# *-* coding: utf-8 *-*

import urllib2
from BeautifulSoup import BeautifulSoup as bs

class Crawler:

    def visit(self, url):
        self.request = urllib2.Request(self.url)
        self.response = urllib2.urlopen(self.request)
        return self.response.read()

if __name__ == "__main__":
    x = Crawler()
    print x.visit("http://google.com/")

Когда я пытаюсь начать получать сообщение об ошибке:

sigo@sarch ~/sources $ python test.py 
Traceback (most recent call last):
  File "test.py", line 16, in <module>
    print x.visit("http://google.com/")
  File "test.py", line 10, in visit
    self.request = urllib2.Request(self.url)
AttributeError: Crawler instance has no attribute 'url'

Что я делаю не так?

1 Ответ

5 голосов
/ 22 ноября 2011

Вы говорите self.url, который ссылается на атрибут url класса Crawler, который не существует. Вам нужно использовать только url, поскольку это имя переменной из аргументов функции visit().

...