Scraping a webpage copying with the logic of scrapy
Even though you are trying to mimic what Scrapy spider might look like, there is a very major high-level difference between how your code is executed and how a Scrapy spider is.

Scrapy is entirely asynchronous since it is based on a twisted network library which makes the code operate in a non-blocking nature, to quote the documentation:


  Requests are scheduled and processed asynchronously. This means that
  Scrapy doesn’t need to wait for a request to be finished and
  processed, it can send another request or do other things in the
  meantime. This also means that other requests can keep going even if
  some request fails or an error happens while handling it.


But, in your case, you do go through the whole process in a blocking mode, processing requests one by one:


Extract tag links from the main page
Make a request to the next tag in the list and wait for the response
Extract quotes and print them
Extract the link to the next page and go to step number 2^


Every time requests make a request, you wait. Scrapy would do things while waiting, that's the main high-level difference.

And, by the way, if you would not assign priority values for your Scrapy requests (by default all requests have the same priority), there is no enforced order in which requests are gonna be processed.