在编译spider_main,里报这个错,TypeError: add_new_url() takes exactly 1 argument (2 given),求解。

#conding:utf8

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)


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

报错信息:

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]


大鼠
浏览 1568回答 1
1回答

清波

错误信息已经很明白了:TypeError: add_new_url() takes exactly 1 argument (2 given)类型错误: add_new_url() 函数 只接受  1个参数 (传了两个)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python