run scrapy appear attributeerror: ' Htmlresponse ' object has no attribute ' follow '
Detailed Error:
2017-05-20 22:58:44 [Scrapy.utils.log] info:scrapy 1.3.3 started (bot:my_project) 2017-05-20-22:58:44 [Scrapy.utils.log ] Info:overridden settings: {' bot_name ': ' My_project ', ' feed_format ': ' JL ', ' Feed_uri ': ' Author.jl ', ' newspider_module ' : ' My_project.spiders ', ' Txt_obey ': True, ' spider_modules ': [' my_project.spiders '], ' user_agent ': ' mozilla/5.0 ( Windows NT 5.1; rv:5.0) gecko/20100101 firefox/5.0 '} traceback (most recent call last): File "I:\Anaconda3\lib\site-packages\scrapy\spi derloader.py ", line, in Load return Self._spiders[spider_name] Keyerror: ' Author ' During handling of the above exc Eption, another exception occurred:traceback (most recent call last): File "I:\Anaconda3\Scripts\scrapy-script.py", Li Ne 5, in <module> Sys.exit (Scrapy.cmdline.execute ()) File "I:\Anaconda3\lib\site-packages\scrapy\cmdline.py", Line, in execute _run_print_help (parser, _run_command, cmd, args, opts) File "I:\Anaconda3\lib\site-packages\scr apy\cmdline.py ", line, in _run_print_help func (*a, **kw) File "I:\Anaconda3\lib\site-packages\scrapy\cmdline.py", line 149, in _
Run_command Cmd.run (args, opts) File "I:\Anaconda3\lib\site-packages\scrapy\commands\crawl.py", line, in run Self.crawler_process.crawl (Spname, **opts.spargs) File "I:\Anaconda3\lib\site-packages\scrapy\crawler.py", line 162 , in crawl crawler = Self.create_crawler (crawler_or_spidercls) File "I:\ANACONDA3\LIB\SITE-PACKAGES\SCRAPY\CRAWLER.P Y ", line 190, in Create_crawler return Self._create_crawler (crawler_or_spidercls) File" I:\Anaconda3\lib\site-packag es\scrapy\crawler.py ", line 194, in _create_crawler spidercls = Self.spider_loader.load (spidercls) File" I:\Anaconda 3\lib\site-packages\scrapy\spiderloader.py ", line, in load Raise Keyerror (" Spider not found: {} ". Format (spider_name ) Keyerror: ' Spider not Found:author ' e:\python\my_project>scrapy crawl author-o author.jl 2017-05-20 22:59:30 [SCR Apy.utils.log] Info:scrapy 1.3.3 Started (bot:my_project) 2017-05-20 22:59:30 [Scrapy.utils.log] Info:overridden settings: {' bot_name ': ' My_project ', ' feed_format ': ' JL ', ' Feed_uri ': ' Author.jl ', ' newspider_module ': ' my_project.spiders ', ' ROBOTS Txt_obey ': True, ' Spider_modules ': [' my_project.spiders '], ' user_agent ': ' mozilla/5.0 (Windows NT 5.1; rv:5.0) gecko/20100101 firefox/ 5.0 '} 2017-05-20 22:59:30 [Scrapy.middleware] info:enabled extensions: [' scrapy.extensions.corestats.CoreStats ', ' Scrapy.extensions.telnet.TelnetConsole ', ' scrapy.extensions.feedexport.FeedExporter ', ' Scrapy.extensions.logstats.LogStats '] 2017-05-20 22:59:31 [scrapy.middleware] info:enabled downloader: [' Scrapy.downloadermiddlewares.robotstxt.RobotsTxtMiddleware ', ' Scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware ', ' Scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware ', ' Scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware ', ' Scrapy.downloadermiddlewares.useragent.UserAgentMidDleware ', ' scrapy.downloadermiddlewares.retry.RetryMiddleware ', ' Scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware ', ' Scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware ', ' Scrapy.downloadermiddlewares.redirect.RedirectMiddleware ', '
Scrapy.downloadermiddlewares.cookies.CookiesMiddleware ', ' scrapy.downloadermiddlewares.stats.DownloaderStats '] 2017-05-20 22:59:31 [scrapy.middleware] info:enabled spider middlewares: [' Scrapy.spidermiddlewares.httperror.HttpErrorMiddleware ', ' scrapy.spidermiddlewares.offsite.OffsiteMiddleware ', ' Scrapy.spidermiddlewares.referer.RefererMiddleware ', ' scrapy.spidermiddlewares.urllength.UrlLengthMiddleware ', ' Scrapy.spidermiddlewares.depth.DepthMiddleware '] 2017-05-20 22:59:31 [Scrapy.middleware] info:enabled Item Pipelines : [] 2017-05-20 22:59:31 [Scrapy.core.engine] Info:spider opened 2017-05-20 22:59:31 [Scrapy.extensions.logstats] Info:c rawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min) 2017-05-20 22:59:31 [scrapy.extensions.telnet] debug:telnet console listening on 127.0.0.1:6023 2017-05-20 22:59:32 [ Scrapy.core.engine] debug:crawled (404) <get http://quotes.toscrape.com/robots.txt> (referer:none) 2017-05-20 22:59:32 [Scrapy.core.engine] debug:crawled ($) <get http://quotes.toscrape.com/> (referer:none) 2017-05-20 22
: 59:32 [Scrapy.core.scraper] error:spider ERROR processing <get http://quotes.toscrape.com/> (Referer:none) Traceback (most recent call last): File "I:\Anaconda3\lib\site-packages\scrapy\utils\defer.py", line 102, in Iter_errbac K yield Next (IT) File "I:\Anaconda3\lib\site-packages\scrapy\spidermiddlewares\offsite.py", line, in Process_spid Er_output for X in Result:file "I:\Anaconda3\lib\site-packages\scrapy\spidermiddlewares\referer.py", line, in &L T;genexpr> return (_set_referer (R) to R in result or ()) File "I:\Anaconda3\lib\site-packages\scrapy\spidermiddl
ewares\urllength.py ", line Panax Notoginseng, in <genexpr> Return (R to R in the result or () if _filter (r)) File "I:\Anaconda3\lib\site-packages\scrapy\spidermiddlewares\depth.py" , line, in <genexpr> return (R for R in or () if _filter (r)) File "E:\python\my_project\spiders\auth or_spider.py ", line, in parse yield response.follow (href, self.parse_author) attributeerror: ' Htmlresponse ' object has no attribute ' follow ' 2017-05-20 22:59:32 [scrapy.core.engine] info:closing spider (finished) 2017-05-20 22:59:32 [SC Rapy.statscollectors] info:dumping scrapy stats: {' downloader/request_bytes ': 504, ' Downloader/request_count ': 2, ' Dow Nloader/request_method_count/get ': 2, ' downloader/response_bytes ': 2701, ' Downloader/response_count ': 2, ' downloader /response_status_count/200 ': 1, ' downloader/response_status_count/404 ': 1, ' Finish_reason ': ' Finished ', ' Finish_ Time ': Datetime.datetime (2017, 5, M, 573099), ' Log_count/debug ': 3, ' log_count/error ': 1, ' Log_count/info ' : 7, ' Response_received_count ': 2,
' scheduler/dequeued ': 1, ' scheduler/dequeued/memory ': 1, ' scheduler/enqueued ': 1, ' scheduler/enqueued/memory ': 1, ' s Pider_exceptions/attributeerror ': 1, ' start_time ': Datetime.datetime (2017, 5, 20, 14, 59, 31, 285241)} 2017-05-20 22:59:3 2 [Scrapy.core.engine] Info:spider closed (finished)
Workaround:
Please check the scrapy version you are currently using. I looked at some of the official introductory documents and found that Response.follow () was scrapy1.4 after, so you can't use this method if your Scrapy version is below 1.4. You can view the corresponding version of the official document to learn how to use.
For example, I use the 1.3.3 version, and it should be written like this (using the Scrapy.request () method)
For next_page in Response.css (' li.nexta::attr (HREF) '). Extract ():
if next_page are not None:
next_page = Response.urljoin (next_page)
yield scrapy. Request (Next_page, Self.parse)