我试图实例化一个导入的类,然后从中调用方法。
我有两个类别的搜寻器pythonCrawler.py和pythonEksamen2019。
其中一个方法从内部调用另一个方法,正是这个方法使我出错。
我正在呼叫myCrawler.getLinks()
的{{1}}
-requestHTML()
在我实例化的类中。
这是错误:
requestHTML()
该程序在我尝试使其成为类对象之前已经起作用。如果我删除类并直接运行文件,它将执行所需的操作。现在,我只是试图将其分成有趣的类。
我试图在方法中插入Traceback (most recent call last):
File "pythonEksamen2019.py", line 10, in <module>
main()
File "pythonEksamen2019.py", line 6, in main
myCrawler.getLinks()
File "/Users/phillipeismark/Desktop/Python 4.
semester/pythonEksamen2019/pythonCrawler.py", line 34, in getLinks
html = requestHTML(page_Name)
NameError: name 'requestHTML' is not defined
。
我尝试传递不同的参数并对参数进行硬编码。
我试图将self作为所有方法的第一个参数。
这是我正在调用的方法正在调用的方法。
self.requestHTML(link)
这是我实际调用的方法,page_Name是一个字符串变量,仅是指向站点的链接。
def requestHTML(self, link):
try:
res = urlopen(link)
html = res.read().decode('utf-8')
html = html.split('\n')
return html
except HTTPError as err:
print(err)
except Exception as err:
print(err)
这是我运行的文件,我尝试在其中实例化该对象:
def getLinks(self):
html = requestHTML(page_Name)
with open('linksToScrape.md', 'w') as f:
for line in html:
if 'nav-link' in line:
start = line.find(href) + len(href)
end = line.find(hrefe)
link = page_Name + line[start:end]
f.write(link[:-5] + '\n')
解决方案:我试图调用method requestHTML(),但没有自己。它的前面。因此,它在实例对象之外的其他地方寻找方法,无法找到它。感谢大家的帮助。