scrapy 爬虫框架学习-1

2020-05-09 15:54:01 浏览数 (1)

使用scrapy 首先安装 pip install scrapy

接着创建项目 scrapy startproject test 爬虫名字 项目创建好了之后创建爬虫app scrapy genspider appname 666cc.cn 第一个是app名字,第二个是需要爬的域名,后面可以更改 *** 接着来写一个爬取小例子 *** class TestSpider(scrapy.Spider): name = ‘test’ allowed_domains = [‘itcast.cn’] start_urls = [‘http://www.itcast.cn/channel/teacher.shtml’]

def parse(self, response): a=response.xpath(‘//div[@class=”tea_con”]//h3/text()’).extract() li_list=response.xpath(‘//div[@class=”tea_con”]//li’) for li in li_list: item={} item[‘name’]=li.xpath(‘.//h3/text()’).extract_first() item[‘title’]=li.xpath(‘.//h4/text()’).extract_first() yield item 通过生成器生成item给管道进行数据处理 这是爬取itcast.cn的例子,获取所有的老师信息 *** 接着来到管道处理,也就是数据处理的地方 *** class Test1Pipeline(object): def process_item(self, item, spider): item[‘hello’]=’hello’ return item

class Test1Pipeline1(object): def process_item(self, item, spider): print(item) with open(‘./test.txt’,’a ’,encoding=’utf-8′)as f: f.write(item[‘name’]) f.write(item[‘title’]) f.write(‘n’) return item 这里保存爬取的数据到本地 *** setting设置项 *** LOG_LEVEL=’WARNING’ 警告以上级别才显示,保持终端清爽 *** 设置管道优先级,数字越小,优先级越高 ITEM_PIPELINES = { ‘test1.pipelines.Test1Pipeline’: 300, # 设置优先级 ‘test1.pipelines.Test1Pipeline1’: 301, # 设置优先级 } ***

0 人点赞