基于pyquery的爬虫微框架。
项目描述
基于PyQuery的爬虫微框架。支持Python 2.x和3.x。
文档: http://demiurge.readthedocs.org
安装造物者
$ pip install demiurge
快速开始
使用声明性(Django启发式)语法定义要爬取的项目
>>> import demiurge >>> class TorrentDetails(demiurge.Item): ... label = demiurge.TextField(selector='strong') ... value = demiurge.TextField() ... def clean_value(self, value): ... unlabel = value[value.find(':') + 1:] ... return unlabel.strip() ... class Meta: ... selector = 'div#specifications p' ... >>> class Torrent(demiurge.Item): ... url = demiurge.AttributeValueField( ... selector='td:eq(2) a:eq(1)', attr='href') ... name = demiurge.TextField(selector='td:eq(2) a:eq(2)') ... size = demiurge.TextField(selector='td:eq(3)') ... details = demiurge.RelatedItem( ... TorrentDetails, selector='td:eq(2) a:eq(2)', attr='href') ... class Meta: ... selector = 'table.maintable:gt(0) tr:gt(0)' ... base_url = 'http://www.mininova.org' ... >>> >>> t = Torrent.one('/search/ubuntu/seeds') >>> t.name 'Ubuntu 7.10 Desktop Live CD' >>> t.size u'695.81\xa0MB' >>> t.url '/get/1053846' >>> t.html u'<td>19\xa0Dec\xa007</td><td><a href="/cat/7">Software</a></td><td>...' >>> results = Torrent.all('/search/ubuntu/seeds') >>> len(results) 116 >>> for t in results[:3]: ... print t.name, t.size ... Ubuntu 7.10 Desktop Live CD 695.81 MB Super Ubuntu 2008.09 - VMware image 871.95 MB Portable Ubuntu 9.10 for Windows 559.78 MB ... >>> t = Torrent.one('/search/ubuntu/seeds') >>> for detail in t.details: ... print detail.label, detail.value ... Category: Software > GNU/Linux Total size: 695.81 megabyte Added: 2467 days ago by Distribution Share ratio: 17 seeds, 2 leechers Last updated: 35 minutes ago Downloads: 29,085
请参阅文档以获取详细信息: http://demiurge.readthedocs.org
为什么选择 造物者?
柏拉图在公元前360年左右,在《蒂迈欧篇》这部苏格拉底对话中经常提到造物者。主人公将造物者描述为“塑造和塑造”物质世界的实体。蒂迈欧描述造物者为无私的善良,因此渴望一个尽可能好的世界。然而,由于造物者是从混沌的、不确定的非存在中创造了世界,这个世界仍然是不完美的。
项目详情
关闭
demiurge-0.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | be04a5a2b06a44d3ae3c94aa24a92625b2544147bf46227da9114a55936fa760 |
|
MD5 | 2cdbfcd8bf629f2158847c4a4df7351c |
|
BLAKE2b-256 | 568a495fa2401c757c2bf336fa9d05c3e0c765fb2c9b9d8f1067e8e7506b429d |