基于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 |