如题,先放一段代码:
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
写一个带通用方法的爬虫,然后根据配置生成不同实例
|