(1)创建scrapy项目
scrapy startproject getblog
(2)编辑 items.py
# -*- coding: utf-8 -*- # Define here the models for your scraped items # # See documentation in: # http://doc.scrapy.org/en/latest/topics/items.html from scrapy.item import Item, Field class BlogItem(Item): title = Field() desc = Field()
(3)在 spiders 文件夹下,创建 blog_spider.py
!!需要熟悉下xpath选择,感觉跟JQuery选择器差不多,但是不如JQuery选择器用着舒服
w3school教程: http://www.w3school.com.cn/xpath/
# coding=utf-8 from scrapy.spider import Spider from getblog.items import BlogItem from scrapy.selector import Selector class BlogSpider(Spider): # 标识名称 name = ‘blog‘ # 起始地址 start_urls = [‘http://www.cnblogs.com/‘] def parse(self, response): sel = Selector(response) # Xptah 选择器 # 选择所有含有class属性,值为‘post_item’的div 标签内容 # 下面的 第2个div 的 所有内容 sites = sel.xpath(‘//div[@class="post_item"]/div[2]‘) items = [] for site in sites: item = BlogItem() # 选取h3标签下,a标签下,的文字内容 ‘text()’ item[‘title‘] = site.xpath(‘h3/a/text()‘).extract() # 同上,p标签下的 文字内容 ‘text()’ item[‘desc‘] = site.xpath(‘p[@class="post_item_summary"]/text()‘).extract() items.append(item) return items
(4)运行,
scrapy crawl blog # 即可
(5)输出文件。
在 settings.py 中进行输出配置。
# 输出文件位置 FEED_URI = ‘blog.xml‘ # 输出文件格式 可以为 json,xml,csv FEED_FORMAT = ‘xml‘
输出位置为项目根文件夹下。
-- 2014年08月20日05:51:46
python爬虫----(3. scrapy框架,简单应用)
时间: 2024-10-07 04:03:29