你只是定义了一个Request, 定义好的Request自己并不去去建立网络联接并下载, 而是能过scrapy的Downloader和Spider来完成.
参考官方文档:
一般来说,Request 对象在spiders中被生成并且最终传递到 下载器(Downloader),下载器对其进行处理并返回一个 Response 对象, Response 对象还会返回到生成request的spider中。
如果想让他运行, 可以定义如下的spider
import scrapy
from scrapy.spiders import CrawlSpider, Rule
url = 'https://doc.scrapy.org/en/latest/intro/tutorial.html'
def ret(response):
print('start print\n')
print(response.body)
def errorcb(err):
print(err+"\n")
pass
class MySpider(CrawlSpider):
name="test"
def start_requests(self):
return [scrapy.http.Request(url=url, callback=ret, errback=errorcb)]
保存成文件scrapy_cb.py, 然后通过
scrapy runspider scrapy_cb.py
来运行