为了账号安全,请及时绑定邮箱和手机立即绑定

没报错,只输出了第一条记录,然后就craw failed,跳出循环了,怎么回事?

# coding:utf-8


#from baike_spider 

import url_manager,html_downloader,html_parser,html_outputer

print html_parser.__name__


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:

#print self.urls.has_new_url()

new_url=self.urls.get_new_url()

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

html_cont=self.downloader.download(new_url)

print type(html_cont) 

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

print new_urls,new_data

print "test"

self.urls.add_new_urls(new_urls)

self.outputer.collect_data(new_data)

if count==1000:

break

count=count+1

print "test"


except:

print 'craw failed'


self.outputer.output_html()






if __name__=="__main__":

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

obj_spider=SpiderMain()

obj_spider.craw(root_url)


正在回答

9 回答

一个函数一个函数的对照,问题出在downloader里面没有import urllib2这个模块。

0 回复 有任何疑惑可以回复我~

craw 1 : https://baike.baidu.com/item/Python

craw failed

同求大神解决啊!其他基本上都看了,也改了urllib.parse.urljoin,

0 回复 有任何疑惑可以回复我~

没有报错 但是就只有一条数据 其他的库都引用啦!

0 回复 有任何疑惑可以回复我~

我也是这个问题啊,但是,http://img1.sycdn.imooc.com//57e8ea760001506807190291.jpg,为什么老提示我 urljoin 报错啊,我有引入啊

0 回复 有任何疑惑可以回复我~

哎咿呀呀

0 回复 有任何疑惑可以回复我~

我也是这种问题

579dab500001737505000398.jpg

579dab7e00010af505000354.jpg


0 回复 有任何疑惑可以回复我~
#1

qq_我也想要橡皮果实_04188688

你这个是用的Pycharm吗?老师用ctrl+1的时候你用的什么啊
2016-10-21 回复 有任何疑惑可以回复我~

我遇到了同样的问题

http://img1.sycdn.imooc.com//579da02900017c8d15641122.jpg

但我的解析器 引用了这两个import

0 回复 有任何疑惑可以回复我~
#1

qq_贪嗔痴傻_0

请问你的问题解决了吗?我也遇到了相同的问题
2016-08-20 回复 有任何疑惑可以回复我~
#2

suddenly唐 回复 qq_贪嗔痴傻_0

你现在解决了么,我也是这个问题
2018-03-07 回复 有任何疑惑可以回复我~

我也出现同样的问题,可是我的解析器有import啊,就只爬了一条就退出来了


0 回复 有任何疑惑可以回复我~

最后还是自己发现解析器那部分没有import re 和import urlparse,现在终于运行起来了!高兴啊!

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Python开发简单爬虫
  • 参与学习       227670    人
  • 解答问题       1219    个

本教程带您解开python爬虫这门神奇技术的面纱

进入课程

没报错,只输出了第一条记录,然后就craw failed,跳出循环了,怎么回事?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信