学习素材
整合学习的fishc.com知识,加巩固学习,不作其他目的!新手上路,前辈指教
今天学习了scrapy框架编写第一只爬虫,爬取的url:http://www.dmoztools.net/是一个分类目录网址
_________________________________________________________________________________________________分割线
目的:希望把标题、超链接、描述都保存到一个文件中
正文
1、新建一个爬虫
打开cmd,切换目录到桌面:cd Desktop(默认为你的用户名所在地,C://user,使用cd /d D:// 路径 切换到具体文件夹)
新建爬虫scrapy startproject tutorial
(新建爬虫的另一种方法:)
桌面出现了tutorial的文件夹,里面的文件有
spider是从网页爬取数据的类
2、编辑items
items的作用是存储爬取数据的容器,它就是类似于字典,定义一个item的方法很简单,只要继承scrapy.item类,并将所有字段定义为scrapy.Field()即可。
class TutorialItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
title = scrapy.Field()
link = scrapy.Field()
desc = scrapy.Field()
3.编写spider
在spiders中新建一个爬虫,命名dmoz_spider.py,代码如下
import scrapy
class DmozSpider(scrapy.Scrapy):
name = "dmoz"
allow_domains = "dmoztools.net"
start_urls = [
'http://www.dmoztools.net/Computers/Programming/Languages/Python/Books/',
'http://www.dmoztools.net/Computers/Programming/Languages/Python/Resources/'
]
def parse(self,response):
filename = response.url.split('/')[-2]
with open(filename,'wb') as f:
f.write(response.body)
为验证爬取过程,先将其打印出来
注意:
(1)每个爬虫的name是惟一的,就是后面cmd中的调用名
(2)domain指的是爬虫的爬取范围
(3)列表中有一个逗号
4、test
进入cmd,