小编给大家分享一下python爬虫框架scrap的使用方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
关于Scrapy 简介
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。
安装
在linux 和 Mac 系统下,可使用 pip安装。
pip install scrapy
Windows上的安装方式
conda install -c conda-forge scrapy
Scrapy 基本使用
第一步,创建项目
scrapy 提供了一些命令行工具,可直接生成项目代码。我们可直接使用如下命令来生成项目代码
scrapy startproject v6_scrapy
第二步,编写Spider
在sipders目录中,添加我们的爬虫文件toutiao_spider.py,内容如下:
# -*- coding:utf-8 -*- import scrapy class ToutiaoSpider(scrapy.Spider): name = 'toutiao' start_urls = [ 'https://toutiao.io/c/ai?page=1', ] def parse(self, response): """ 实现html解析 :param response: :return: """ papers = response.xpath('//a[@rel="external"]') for paper in papers: title = paper.xpath('./@title').extract()[0] href = 'https://toutiao.io%s' % paper.xpath('./@href').extract()[0] print(title, href)
在完成之后,执行如下代码启动爬虫:
scrapy crawl toutiao
第三步,定义item
scrapy 使用Item类来结构化数据,以方便对数据的操作。
class ToutiaoItem(scrapy.Item): title = scrapy.Field() href = scrapy.Field()
第四步,构建 Item pipeline 持久化到文件
我们看下如何将爬取到的数据保存到文件,代码如下:
class V6ScrapyFilePipeline(object): def __init__(self): self.file = open('toutiao.json', 'wb') def process_item(self, item, spider): if item['title']: line = json.dumps(dict(item))+"\n" self.file.write(line.encode()) return item else: raise DropItem('在[%s]item中,没有title关键字'%item)
以上是python爬虫框架scrap的使用方法的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。