用方法调用 python3 class
call python3 class with methods
我有一个名为:scrape.py的文件,该文件包含以下内容class:
我试图用它的方法调用我的 class BrickSetSpider
,并最终 return parse_page_urls
的值 运行 当这个程序像python scrape.py
.
但是,当我 运行 python scrape.py
时,我得到:
NameError: name 'response' is not defined
这一行:
page = spider.parse_se_page_url(response)
谁能帮我运行我的两种方法(输出g_result_list
的结果?
非常感谢!
一些事情:
- 您得到
NameError: name 'response' is not defined
错误的原因是您在 main 范围内没有定义任何名为 response
的变量
不定义这样的参数就不能使用。
另外在parse_se_page_urls
你多了一行
def parse_se_page_urls(self, g_result_page):
没有任何函数的实现。应该也是有问题的。
除非遗漏了一些不在发布的代码中的内容,否则在您的第二个函数中您使用的是 g_result_page
变量 - 但与 response 一样,它未定义。
您在上面的函数中有一个同名参数,但它是该函数的局部变量,因此第二个参数不知道。要将它们初始化为实例的成员,请添加构造函数,如下所示:
def __init__(self):
self.g_result_list = []
self.g_result_page = []
然后使用写入 self.g_result_page
在您的第一个函数中,您有以下两行:
set(g_result_page)
list(g_result_page)
这些行没有效果 - 它们从 g_result_page
中创建了一个 set
和一个 list
但是这些数据结构没有分配给任何东西,因此在结束时被清除函数
您的代码中有两个小错误。
首先,当你得到class的一个实例时,你不需要传入任何东西,所以你的代码变成了
spider = BrickSetSpider()
其次,您使用变量 page
通过执行 page = spider.parse_page_url(response)
来存储 spider.parse_page_url(response)
的输出,但是您随后调用 urls = page.parse_page_urls(result_page)
。我相信你的意思是打电话给 urls = spider.parse_page_urls(page)
.
希望对您有所帮助。
我有一个名为:scrape.py的文件,该文件包含以下内容class:
我试图用它的方法调用我的 class BrickSetSpider
,并最终 return parse_page_urls
的值 运行 当这个程序像python scrape.py
.
但是,当我 运行 python scrape.py
时,我得到:
NameError: name 'response' is not defined
这一行:
page = spider.parse_se_page_url(response)
谁能帮我运行我的两种方法(输出g_result_list
的结果?
非常感谢!
一些事情:
- 您得到
NameError: name 'response' is not defined
错误的原因是您在 main 范围内没有定义任何名为response
的变量 不定义这样的参数就不能使用。 另外在
parse_se_page_urls
你多了一行def parse_se_page_urls(self, g_result_page):
没有任何函数的实现。应该也是有问题的。
除非遗漏了一些不在发布的代码中的内容,否则在您的第二个函数中您使用的是
g_result_page
变量 - 但与 response 一样,它未定义。 您在上面的函数中有一个同名参数,但它是该函数的局部变量,因此第二个参数不知道。要将它们初始化为实例的成员,请添加构造函数,如下所示:def __init__(self): self.g_result_list = [] self.g_result_page = []
然后使用写入
self.g_result_page
在您的第一个函数中,您有以下两行:
set(g_result_page) list(g_result_page)
这些行没有效果 - 它们从
g_result_page
中创建了一个set
和一个list
但是这些数据结构没有分配给任何东西,因此在结束时被清除函数
您的代码中有两个小错误。
首先,当你得到class的一个实例时,你不需要传入任何东西,所以你的代码变成了
spider = BrickSetSpider()
其次,您使用变量 page
通过执行 page = spider.parse_page_url(response)
来存储 spider.parse_page_url(response)
的输出,但是您随后调用 urls = page.parse_page_urls(result_page)
。我相信你的意思是打电话给 urls = spider.parse_page_urls(page)
.
希望对您有所帮助。