Boris-code / feapder

🚀🚀🚀feapder is an easy to use, powerful crawler framework | feapder是一款上手简单,功能强大的Python爬虫框架。内置AirSpider、Spider、TaskSpider、BatchSpider四种爬虫解决不同场景的需求。且支持断点续爬、监控报警、浏览器渲染、海量数据去重等功能。更有功能强大的爬虫管理系统feaplat为其提供方便的部署及调度
http://feapder.com
Other
2.88k stars 476 forks source link

指定parser_name和callback不生效 #242

Open s2485523800 opened 8 months ago

s2485523800 commented 8 months ago

feapder 1.8.9 问题 需求是对不同的网址采用不同的解析方式,但指定了parser_name和callback无效,相应位置打断点也不会进 截图 目录结构 image

代码 第一种尝试

 if 'weixin.qq.com' in i.xpath('./div[1]/a/@href')[0]:
                        yield feapder.Request(url=i.xpath('./div[1]/a/@href')[0],
                                              parser_name='WechatOfficialAccount',
                                               name='CompanyDynamics',
                                              time_l=i.xpath('./div[2]/div[2]/span/text()')[0],download_midware=self.download_midware)

第二种尝试(引入类)

 if 'weixin.qq.com' in i.xpath('./div[1]/a/@href')[0]:
                        yield feapder.Request(url=i.xpath('./div[1]/a/@href')[0],
                                              parser_name=WechatOfficialAccount,
                                               name='CompanyDynamics',
                                              time_l=i.xpath('./div[2]/div[2]/span/text()')[0],download_midware=self.download_midware)

第三种尝试

 if 'weixin.qq.com' in i.xpath('./div[1]/a/@href')[0]:
                        yield feapder.Request(url=i.xpath('./div[1]/a/@href')[0],
                                              parser_name=WechatOfficialAccount,
                                              callback='parse',
                                               name='CompanyDynamics',
                                              time_l=i.xpath('./div[2]/div[2]/span/text()')[0],download_midware=self.download_midware)

第四种尝试

 if 'weixin.qq.com' in i.xpath('./div[1]/a/@href')[0]:
                        yield feapder.Request(url=i.xpath('./div[1]/a/@href')[0],
                                              parser_name=WechatOfficialAccount,
                                              callback=WechatOfficialAccount.parse,
                                               name='CompanyDynamics',
                                              time_l=i.xpath('./div[2]/div[2]/span/text()')[0],download_midware=self.download_midware)

应该怎么写呢,貌似文档缺一个详细例子