ruia_motor-一个使用马达存储数据的ruia插件

ruia-motor的Python项目详细描述


瑞亚汽车

使用马达存储数据的Ruia插件

Notice:  Works on ruia >= 0.5.0

安装

pip install -U ruia-motor

使用量

ruia-motor将自动将数据存储到MongoDB:

fromruiaimportAttrField,Item,Spider,TextFieldfromruia_motorimportRuiaMotorclassDoubanItem(Item):target_item=TextField(css_select='div.item')title=TextField(css_select='span.title')cover=AttrField(css_select='div.pic>a>img',attr='src')abstract=TextField(css_select='span.inq',default='')asyncdefclean_title(self,title):ifisinstance(title,str):returntitleelse:return''.join([i.text.strip().replace('\xa0','')foriintitle])classDoubanSpider(Spider):start_urls=['https://movie.douban.com/top250']mongodb_config={'host':'127.0.0.1','port':27017,'db':'ruia_motor'}asyncdefparse(self,response):etree=response.html_etreepages=['?start=0&filter=']+[i.get('href')foriinetree.cssselect('.paginator>a')]forindex,pageinenumerate(pages):url=self.start_urls[0]+pageyieldself.request(url=url,metadata={'index':index},callback=self.parse_item)asyncdefparse_item(self,response):asyncforiteminDoubanItem.get_items(html=response.html):data=item.resultsyieldRuiaMotor(collection='douban250',data=data)asyncdefinit_plugins_after_start(spider_ins):RuiaMotor.init_spider(spider_ins=spider_ins)if__name__=='__main__':DoubanSpider.start(after_start=init_plugins_after_start)

享受吧:)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在sqlite数据库中保存特定列的历史记录   java如何更改/更新timeseriechart名称(JFreeChart)   java如何将整数转换为可绘制的   汇编什么解释Java的字节码   java查找已编译的类版本号   我应该什么时候在ColdFusion应用程序中使用Java?   java当一个实体的两个字段为(unique=true)时,如何处理JPA异常?   java为什么在所有其他实例都正确的情况下返回错误的布尔值?   java Hibernate每次都准备语句   java停留在平均字长上   对Java和日语字符进行编码   java如何将导致异常的方法的错误消息传递给侦听器中的onTestFailure方法   java代码没有打印结果   java为什么私有内部接口的方法必须是公共的?   休眠发生错误。有关详细信息,请参阅错误日志。JAVAlang.NullPointerException