在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ scrapy 多個(gè)起始網(wǎng)址如何把每個(gè)網(wǎng)址回調(diào)到不同的函數(shù)?

scrapy 多個(gè)起始網(wǎng)址如何把每個(gè)網(wǎng)址回調(diào)到不同的函數(shù)?

事情是這樣的,例如我要去怕一個(gè)網(wǎng)站,這個(gè)網(wǎng)站有10個(gè)頻道、60個(gè)欄目,然后我把這60個(gè)欄目都放到了起始網(wǎng)址里(start_urls)。
問題是,不同頻道每個(gè)欄目的列表頁(yè)獲取規(guī)則和文章頁(yè)獲取規(guī)則都不一樣(例如新聞?lì)l道下的欄目列表頁(yè)獲取規(guī)則就和熱點(diǎn)頻道下的欄目列表頁(yè)獲取規(guī)則不同),那如何讓不同的起始網(wǎng)址調(diào)用不同的函數(shù)呢(news開頭的網(wǎng)址都用news_prase函數(shù),hot開頭的網(wǎng)址都用hot_prase函數(shù))?
貼下我的思路,但是不知道咋寫了...

class FspiderSpider(Spider):
    name = 'FSpider'
    allowed_domains = ['eastmoney.com']
    start_urls = ['http://fund.123.com.cn',
                  'http://stock.123.com.cn',
                  'http://money.123.com.cn']

    def parse(self, response):
        if 'fund.123.com.cn' in response:
            yield Request(url = ) #這里想把符合條件的url回調(diào)給相應(yīng)的函數(shù)的,然后發(fā)現(xiàn)if的時(shí)候并不能這么做...

請(qǐng)求HELP , 如果我有表述不清的,請(qǐng)指出,我修改

回答
編輯回答
疚幼
class FspiderSpider(Spider):
    name = 'FSpider'
    allowed_domains = ['123.com.cn']

    def start_requests(self):
        channels = ['fund', 'stock', 'money']   # 頻道列表
        for channel in channels:
            url = 'http://{}.123.com.cn'.format(channel)
            yield Request(url, callback=getattr(self, channel+'_parse', self.parse))
2018年3月10日 03:38