scrapy抓取dmoz内容

1.新建一个项目

scrapy startproject dmozspider


会在当前目录创建一个dmozspider的文件夹,包含一系列文件
scrapy.cfg:项目的配置文件
tutorial/:项目的Python模块,将会从这里引用代码
tutorial/items.py:项目的items文件
tutorial/pipelines.py:项目的pipelines文件
tutorial/settings.py:项目的设置文件
tutorial/spiders/:存储爬虫的目录


2.修改tutorial目录下的items.py文件,在原本的class后面添加我们自己的class。
因为要抓dmoz.org网站的内容,所以我们可以将其命名为DmozItem:
代码如下

import scrapy


class TutorialItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
pass

class DmozItem(scrapy.Item):
title = scrapy.Field()
link = scrapy.Field()
desc = scrapy.Field()


3.制作爬虫
第一只爬虫,命名为dmoz_spider.py,保存在tutorial\spiders目录下
dmoz_spider.py代码如下:

from scrapy.spider import Spider
from scrapy.selector import Selector
from dmozspider.items import DmozItem

class DmozSpider(Spider):
name = "dmoz"
allowed_domains = ["dmoz.org"]
start_urls = [
"http://www.dmoz.org/Computers/Programming/Languages/Python/Books/",
"http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/"
]

def parse(self, response):
sel = Selector(response)
sites = sel.xpath('//div[@class="title-and-desc"]')
items=[]
for site in sites:
item=DmozItem()
item['title']=site.xpath('a/div/text()').extract()
item['link']=site.xpath('a/@href').extract()
item['desc']=site.xpath('div/text()').extract()
title =item['title']
link = item['link']
desc = item['desc']
items.append(item)
return items


4.进入到dmozspider目录,运行

scrapy crawl dmoz


5.存储内容(Pipeline)
保存信息的最简单的方法是通过Feed exports,主要有四种:JSON,JSON lines,CSV,XML。
我们将结果用最常用的JSON导出,命令如下:

scrapy crawl dmoz -o items.json -t json


参考网址:http://blog.youkuaiyun.com/pleasecallmewhy/article/details/19642329
http://doc.scrapy.org/en/latest/topics/selectors.html#topics-selectors
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值