Python Crawler - AttributeError:Crawler实例没有属性'url'

Mat*_*łło 0 python class attributeerror

我正在尝试学习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/")
Run Code Online (Sandbox Code Playgroud)

当我尝试开始收到错误时:

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'
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

小智 5

你说的是self.url哪个引用Crawler类的url属性,它不存在.您需要使用,url因为这是visit()函数参数中变量的名称.