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

name 'html_cont' is not defined

name 'html_cont' is not defined

weibo_先先贝虫工_0 2016-07-12 11:40:48
#coding=utf-8 from bs4 import BeautifulSoup import re import urlparse class htmlparser(object):               def _get_new_urls(self, page_url, soup):         new_urls=set()         links=soup.find_all('a',href=re.compile(r"/view/\d+\.htm"))         for link in links:             new_url=link['href']             new_full_url=urlparse.urljoin(page_url,new_url)             new_urls.add(new_full_url)         return new_urls          def _get_new_data(self, page_url, soup):         res_data={}                  res_data['url']=page_url          #         <dd class="lemmaWgt-lemmaTitle-title"> #         <h1>Python</h1>         title_node=soup.find('dd',class="lemmaWgt-lemmaTitle-title".find("h1"))  # @UnusedVariable         res_data['title']=title_node.get_text()          #         <div class="lemma-summary" label-module="lemmaSummary"> #         <div class="para" label-module="para">         summary_node=soup.find('div',class='lemma-summary')         res_data['summary']=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.parser',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           html_cont和page_url一直说未定义 NameError: name 'html_cont' is not defined
查看完整描述

4 回答

?
飞翔32993

TA贡献14条经验 获得超4个赞

这说明你在调用parse这个方式时,传入的参数不正确

查看完整回答
反对 回复 2016-07-12
?
proto

TA贡献7条经验 获得超3个赞

问题不在这个文件里吧

这个文件就是拿到html_cont里的数据进行soup处理,问题应该在html_loader文件里

你这个报错不是从spidermain运行之后报出来的错误吗

查看完整回答
反对 回复 2016-07-12
?
辉扬

TA贡献29条经验 获得超12个赞

你这两个变量,需要传参数进去的。之前调用这个parse()方法的时候应该会把html_cont 和page_url传进去才对。

查看完整回答
反对 回复 2016-07-12
  • 4 回答
  • 0 关注
  • 2975 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信