一个简单的spider框架,以及一些用于spider的工具

py-cone的Python项目详细描述


spider

一个简单的爬虫框架, 性能什么的可能不行,但应该蛮简单。

可以直接运行demo_spider查看效果

贴出部分demo代码

定义一个OriginSqlItem便于数据入库

classDemoItem(OriginSqlItem):title=Field('nvarchar(100)')tag=Field('nvarchar(20)')url=Field('nchar(500)')

定义一个Recorder规定数据保存方式

classDemoRecorder(BaseRecorder):table='demo_table'def__init__(self):super().__init__()self.sql=Sqliter(**SQL)DemoItem.create_item(self.sql,self.table,sqltype='sqlite')defrecord(self,item):returnDemoItem.save(self.sql,self.table,item)

""" 或者直接使用SqlRecorder入库 class DemoRecorder(SqlRecorder): sql = Sqliter(**SQL) model = DemoItem table = 'demo' """

与Scrapy的部分操作类似

classDemoSpider(ConeSpider):"""        如果遇到反爬可以自定义downloader    """recorders=[DemoRecorder]base_url='http://www.chinanews.com/scroll-news/news%d.html'start_urls=['http://www.chinanews.com/scroll-news/news1.html']defparse(self,response):pass"""详见demo_spider"""

spider = DemoSpider() spider.start() 即可运行爬虫,Ctrl + C 暂停,连按关闭爬虫

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

推荐PyPI第三方库


热门话题
java操作数组上的字符串   java JAXB内容未实例化   图形在Java中如何绘制垂直居中的字符串?   java Apache Ant:使用Junit时出现NoClassDefFoundError   java无法从服务器上运行perl脚本   如何在java中沿树进行预排序遍历,并打印0和1以对应每个节点上的特定字符?   java如何创建。p12文件?   java线程访问无效   java只匹配命名空间中的XML节点,而不知道NS前缀   从java获取2d arraylist元素   数组Java动态集合对象   java Xpath通过通配符或布尔运算查找以相同名称开头的节点?   java注释元素类型   java在中看不到Super()。反编译后的类文件