第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

TypeError: 'NoneType' object is not iterable

import?url_manager,html_downloader,html_parser,html_outputer

class?SpiderMain(object):
????????"""docstring?for?SpiderMain"""
????????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():
????????????????????????print(count)

????????????????????????#?try:
????????????????????????new_url?=?self.urls.get_new_url()
????????????????????????print('craw?%d?:?%s'%(count,new_url))
????????????????????????html_cont?=?self.downloader.download(new_url)
????????????????????????new_urls,new_data?=?self.parser.parse(new_url,html_cont)
????????????????????????self.urls.add_new_urls(new_urls)
????????????????????????self.outputer.collect_data(new_data)

????????????????????????#?except:
????????????????????????#???????print('craw?failed')

????????????????????????if?count?==?1000:
????????????????????????????????break

????????????????????????count?=?count?+?1
????????????????????????print(count)

????????????????self.outputer.output_html()


if?__name__?==?"__main__":
????????root_url?=?"https://baike.baidu.com/item/Python"
????????obj_spider?=?SpiderMain()
????????obj_spider.craw(root_url)

運(yùn)行結(jié)果如下:

1

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

Traceback (most recent call last):

? File "C:\Users\liukai7\Desktop\New folder\新浪微博爬蟲\spider_main.py", line 44, in <module>

? ? obj_spider.craw(root_url)

? File "C:\Users\liukai7\Desktop\New folder\新浪微博爬蟲\spider_main.py", line 25, in craw

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

TypeError: 'NoneType' object is not iterable


不知道問題在哪里,請(qǐng)幫忙看下

正在回答

5 回答

解析器第10行集合名字寫錯(cuò)了,改過來試一下~

new_urls?=?set()


0 回復(fù) 有任何疑惑可以回復(fù)我~

不知道你解決了沒有。是你指定的解析器寫錯(cuò)了。Line 41 少了一個(gè)r

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

qq_一口一個(gè)小朋友_0

后面還有一個(gè)=號(hào)
2017-11-10 回復(fù) 有任何疑惑可以回復(fù)我~
from?bs4?import?BeautifulSoup
import?re
import?urllib.parse


class?HtmlParser(object):


	def?_get_new_urls(self,page_url,soup):
		new_url?=?set()
		links?=?soup.find_all('a',href=re.compile(r'/item/\w+'))
		for?link?in?links:
			new_url?=?link['href']
			#new_full_url?=?urlparse.urljoin(page_url,new_url)python?2.7
			new_full_url?=?urllib.parse.urljoin(page_url,?new_url)
			new_urls.add(new_full_url)
		return?new_urls

	def?_get_new_data(self,page_url,soup):
		res_data?=?{}

		#url
		res_data['url']?=?page_url

		#<dd?class="lemmaWgt-lemmaTitle-title"><h1>Python</h1>

		title_node?=?soup.find('dd',class_=?"lemmaWgt-lemmaTitle-title").find('h1')
		res_data['title']?=?title_node.get_text()

		#<div?class="lemma-summary"?label-module="lemmaSummary">
		summary_node?=?soup.find('div',class_="lemma-summary")
		res_data['summary_node']?=?summary_node.get_text()
		

		return?res_data
		
	def?parse(self,page_url,html_cont):
		if?page_url?is?None?or?html_cont?is?None:
			return

		soup?=?BeautifulSoup(html_cont,'html.paser',from_encoding='utf-8')
		new_urls?=?self._get_new_urls(page_url,soup)
		new_data?=?self._get_new_data(page_url,soup)
		return?new_urls,new_data


	


0 回復(fù) 有任何疑惑可以回復(fù)我~

從第25行可知解析器返回了None,所以你的解析器應(yīng)該是有問題

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

不想再做設(shè)計(jì)的阿碳 提問者

我下面貼了解析器的代碼,麻煩看下。
2017-10-30 回復(fù) 有任何疑惑可以回復(fù)我~

從這里看沒什么問題,可能是你解析器哪里寫錯(cuò)了吧,可以貼出來看看

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
Python開發(fā)簡單爬蟲
  • 參與學(xué)習(xí)       227603    人
  • 解答問題       1288    個(gè)

本教程帶您解開python爬蟲這門神奇技術(shù)的面紗

進(jìn)入課程

TypeError: 'NoneType' object is not iterable

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)