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

一直提示SyntaxError: invalid syntax

运行spider_main时一直提示:

  File "spider_main.py", line 22
    html_cont = self.downloader.download(new_url)
                  ^
SyntaxError: invalid syntax

求大神指导!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

spider_main代码如下(我用的Grany):

#coding=gbk

import url_manager
import html_downloader
import html_parser
import 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()
    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)
    
    if count == 1000:
     break
    
    count++
   
   except:
    print("craw failed!")
  
  self.outputer.output_html()

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


html_downloader代码如下:

#coding=gbk

import urllib.request

class HtmlDownloader(object):
 
 def download(self,url):
  if url is None:
   return None
  response = urllib.request.urlopen(url)
  if response.get_code() != 200:
   return None
  return response.read()


正在回答

1 回答

https://img1.sycdn.imooc.com//5c64021e00018a7604400221.jpghttps://img1.sycdn.imooc.com//5c64022a0001892f04150285.jpg你download方法定义错了  所以这个方法就是无效的

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

举报

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

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

进入课程

一直提示SyntaxError: invalid syntax

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