网页抓取工具:PyRailgun
这是一个非常简单易用的抓取工具
怎么使用? 首先你需要创建一个对应站点的规则文件 比如testsite.yaml
action: main name: "vc动漫" subaction: - action: fetcher url: http://www.verycd.com/base/cartoon/page${1,1}${0,9} subaction: - action: parser rule: .entry_cover_list li subaction: - action: shell group: default subaction: - {action: parser, rule: '.entry_cover .cover_img', setField: img} - {action: parser, rule: 'a', pos: 0, attr: href, setField: src} - {action: parser, strip: 'true', rule: '.entry_cover .score', setField: score} - {action: parser, rule: '.bio a', setField: dest} - action: fetcher url: http://www.verycd.com${#src} subaction: - {action: parser,strip: 'true', rule: '#contents_more', setField: description}
然后在代码里面把它作为一个任务加入到railgun
from railgun import RailGun railgun = RailGun() railgun.setTask(file("testsite.yaml")); railgun.fire(); nodes = railgun.getShells('default') print nodes
然后你就可以得到一个包含了所有解析后数据的节点列表 [{img:xxx,src:xxx,score:xxx,dest:xxx,description:xxx},{img:xxx,src:xxx,score:xxx,dest:xxx,description:xxx}]
本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
转载本站原创文章,请注明出处,并保留原始链接、图片水印。
本站是一个以用户分享为主的开源技术平台,欢迎各类分享!