scrapy 爬取自己的博客
2016-02-25 08:42
267 查看
定义项目
# -*- coding: utf-8 -*- # items.py import scrapy class LianxiCnblogsItem(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() url = scrapy.Field() title = scrapy.Field() article = scrapy.Field() post_date = scrapy.Field()
定义爬虫
# -*- coding: utf-8 -*- # spider/cnblogs_spider.py from scrapy.spiders import CrawlSpider, Rule from scrapy.linkextractors import LinkExtractor from lianxi_cnblogs.items import LianxiCnblogsItem class MininovaSpider(CrawlSpider): name = 'cnblogs' allowed_domains = ['cnblogs.com'] start_urls = ['http://www.cnblogs.com/hhh5460/default.html?page=%s' i+1 for i in range(11)] # 分页 rules = [Rule(LinkExtractor(allow=['/p/\d+\.html']), 'parse_cnblogs')] def parse_cnblogs(self, response): res = LianxiCnblogsItem() res['url'] = response.url res['title'] = response.xpath("//h1/a/text()").extract() res['article'] = response.xpath("//div[@id=topics]").extract() res['post_date'] = response.xpath("//span[@id='post-date']/text()").extract() return res
运行爬虫
$ scrapy crawl cnblogs -o results.json
相关文章推荐
- zless轻量级样式框架
- php 通过类名获取类的文件地址
- javascript随机抽取0-100之间不重复的10个数
- 开源 java CMS - FreeCMS2.4 系统配置
- uart 编程
- SQL server 在OPENQUERY中使用参数
- 软件测试的“道”与“术”
- 表格,鼠标移到,移出某行,改变该行样式JS
- 代理传值
- SpringMVC源码解读 - HandlerMapping
- iOS中的内存管理(上)
- MPEG2-TS音视频同步原理
- 控制台输入输出
- [置顶] jQuery判断checkbox,radio是否选中的3种方法
- 【bzoj2938】[Poi2000]病毒 trie图+dfs
- 【BZOJ 3504】[Cqoi2014]危桥
- 极路由下打不开soundcloud怎么办?
- 如何取消:win7拖动桌面快捷方式到回收站,提示:这些文件可能对你的计算机有害
- kobox: key_proc.c -v1 怎样使用proc文件系统调试驱动
- java练习题,比较两数大小