请问一下 ,
class myspider(scrapy.Spider):
name = 'novel' allowed_domains = ['23wx.com'] bash_url = 'http://www.23wx.com/class/' bashurl = '.html' def start_requests(self): for i in range(1, 11): url = self.bash_url + str(i) + '_1' + self.bashurl yield Request(url, self.getallurl)
def getallurl(self, response): print response.body
上面这个能正确输出html内容
但是下面这个却不能输出
class myspider(scrapy.Spider):
name = 'novel' allowed_domain = ['23wx.com'] def get_start_url(self): for i in range(1,11): url = 'http://www.23wx.com/class/{}_1.html'.format(i) yield Request(url,callback=self.getallurl) def getallurl(self,response): print response.body
实在不清楚两者之间有什么区别,还是回调函数的使用有什么注意的地方。求指教
明白了 谢谢
方法本质没有区别,原因是你的类继承了scrapy.Spider 类,这个类有个start_requests方法,你重写了它的方法,而这个方法会被scrapy.Spider类调用