前面看了一个爬虫的小例子,那么接下来就;来看看创建一个爬虫的步骤有哪些。
1 创建工程项目的简单步骤
(1)开始一个爬虫项目
进入一个你要创建爬虫的目录下面,在命令行窗口中执行如下代码:
其中项目名改成你将要创建的项目的名称
项目创建好了以后,进入该项目,可以看到如下的目录结构(其中tutorial是创建的项目名)

(2)创建一个spider文件模板
首先进入项目文件里,在项目文件里用命令行执行
1
| scrapy genspider abc_spider www.baidu.com
|
命令行的第三个串是要创建的spider的名字,第四个是要爬取网页的链接地址。
这时,进入项目文件下的spider目录里面,就会发现一个abc_spider.py文件,这个就是创建的文件模板,用IDE打开,修改其内容。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| # -*- coding: utf-8 -*- import scrapy
class AbcSpiderSpider(scrapy.Spider): name = 'abc_spider' allowed_domains = ['www.baidu.com'] start_urls = ['http://www.baidu.com/']
def parse(self, response): #定义文件名 filename=response.url.split('/')[-2]+"html" #打开文件并写入源代码 with open(filename,"wb") as fp: fp.write(response.body)
|
(3)运行爬虫
于是就能看到一个html的文件。
2 自定义抓取项
(1)打开项目中的item.py文件,按照说明进行改写。
1 2 3 4 5
| class FirstspiderItem(scrapy.Item): # define the fields for your item here like: title = scrapy.Field() desc = scrapy.Field() link=scrapy.Field()
|
(2)改写parse函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| # -*- coding: utf-8 -*- import scrapy from firstspider.items import FirstspiderItem
class AbcSpiderSpider(scrapy.Spider): name = 'abc_spider' allowed_domains = ['www.baidu.com'] start_urls = ['http://www.baidu.com/']
def parse(self, response): # #定义文件名 # filename=response.url.split('/')[-2]+"html" # #打开文件并写入源代码 # with open(filename,"wb") as fp: # fp.write(response.body) #通过xpath获取要抓取的内容 lis=response.xpath('//*[@id="head"]') for li in lis: #在这之前需要引入 item=FirstspiderItem() #xpath百度首页不好举例 item['title']=li.xpath('xpath路径').extract() item['link']=li.xpath('xpath路径').extract() item['desc'] = li.xpath('xpath路径').extract() #返回item yield item
|
(3)改写pipeline文件
这里不做修改,只是返回item即可。
1 2 3
| class FirstspiderPipeline(object): def process_item(self, item, spider): return item
|
(4)运行爬虫
可以通过
来获取项目里面所包含的爬虫,然后运行你要执行的爬虫。抓取得结果一般情况下是存放在数据库中。