
如题,先放一段代码:
start_urls = ['https://bj.58.com/ershouche/', 'https://www.guazi.com/bj/buy/'] rules = ( # Rule(LinkExtractor(restrict_css='div.main_list.clearfix > div.info_list > ul > li > div.col.col2 > a'), callback='parse_item'), # Rule(LinkExtractor(restrict_css="a[class='next']")) Rule(LinkExtractor(restrict_xpaths='div.list-wrap.js-post > ul > li > a'), # process_request='parse_guazi_request', callback='parse_guazi'), ) 我的需求:根据 start_urls 先抓取 58 同城二手车信息,然后执行相应的 rules 或 Rule ;然后,抓取瓜子二手车信息,再执行相应的 rules 或者 Rule。
目前的困难:不知都该怎么针对不同的抓取链接写 rules 或 Rule, 尝试过写在一个里面,行不通。所以前来拜求解决方案。先谢谢大家。
1 dsg001 2019-04-22 18:26:46 +08:00 分成两个爬虫呗,58 的爬虫直接入库,瓜子的爬虫从数据库中获取信息 |
2 Northxw OP @dsg001 但是我想要在一个 spider 里面完成,毕竟是 crawlspider, 如果不能达到通用化,做着就没意思嘞 |
3 snappyone 2019-04-22 19:16:19 +08:00 写一个带通用方法的爬虫,然后根据配置生成不同实例 |