编译时报错:TypeError: add_new_url() takes exactly 1 argument (2 given),未找到相应解决办法。求解

本人使用的的sublime text 3,环境python 2.7.11 windows 7 x64


import url_manager,html_downloader,html_parser,\

html_outputer

class SpiderMain(object):

def __init__(self):

self.urls = url_manager.UrlManager()

self.downloader = html_downloader.HtmlDownloader()

self.parser = html_parser.HtmlParser()

self.outputer = html_outputer.HtmlOutputer()

def craw (self,root_url):

count = 1

self.urls.add_new_url(root_url)

while self.urls.has_new_url():

try:

new_url = self.urls.get_new_url()

html_cont = self.downloader.download(new_url)

print 'craw %d: %s'%(count,new_url)

new_url,new_data = self.parser.parser(new_url,html_cont)

self.urls.add_new_urls(new_urls)

self.outputer.collect_data(new_data)


if count == 1000:

break

count = count + 1

except:

print 'craw failed'


self.outputer.outputer_html()


if __name__=="__main__":

root_url = "http://baike.baidu.com/view/21087.htm"

obj_spider = SpiderMain()

obj_spider.craw(root_url)

报错信息:

Traceback (most recent call last):

  File "F:\pytest\spider\spider_main.py", line 34, in <module>

    obj_spider.craw(root_url)

  File "F:\pytest\spider\spider_main.py", line 12, in craw

    self.urls.add_new_url(root_url)

TypeError: add_new_url() takes exactly 1 argument (2 given)

[Finished in 0.4s with exit code 1]

[shell_cmd: python -u "F:\pytest\spider\spider_main.py"]

[dir: F:\pytest\spider]


大鼠
浏览 2109回答 1
1回答

清波

解决方法就是,看看自己运行的时候的调用, 仔细找找 怎么给 add_new_url() 这个函数 传了两个参数了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python