python 爬虫框架Scrapy使用方法

Python作为脚本语言,功能非常强大,这里介绍一下爬虫框架Scrapy有安装及使用方法介绍。

一、安装篇

python3在安装scrapy时,需要twisted的支持,但安装twisted会需要visual studio的支持,详见本人的另一文章Python 3.5 安装scrapy无法找到vcvarsall.bat解决方案.

pip3 install twisted

pip install scrapy

二、使用介绍

开始项目scrapy startproject project


开始项目scrapy startproject project

此时会生成一个目录结构如下:


结构

2. shell工具介绍

scrapy自带shell工具,是进行测试的好地方,我们以起点小说网为例,网址为:https://www.qidian.com/


scrapy shell运行后,我们可借助一些函数进行数据定位、解析、子链接的提取:

view(response) 查看网页

fetch(url|) 抓新的网页

response.css('a[href') #scrapy内置css选择器,具体请百度其它文章

extractor_first() #解析文本

extractor() #解析列表

from scrapy.linkextractors import LinkExtractorle=LinkExtractor(restrict_css('a[href]')links=le.extract_links(le)#以上这段代码用来提取链接

3. 爬虫实现

3.1 先建一个要爬取内容的类ProjectItem, 存入items.py


3.2 我们在spider文件夹下建一个novelspider.py,写入相关代码

此时我们就要用到scrapy shell 帮忙测试了,比如我们要抓取《重生之财源滚滚》这本小说的小说名,可以在shell下用如下代码得到:

scrapy shell https://www.qidian.com/finish

novels=response.css('.book-mid-info')

novels[i].css('h4 a[href]::text').extract_first()'重生之财源滚滚'

通过上面的代码,我们把小说名给抓出来了.同理可以抓其它字段,具体代码如下:


4. 运行爬虫

回到project目录,运行scrapy crawl novel_qidian -o box.csv命令其中novel_qidian就是在novelSpider类中的name项, -o box.csv 即以csv文件形式存储内容以下是爬取到的内容:


scrapy作为一个异步爬虫框架,非常容易写出高质量的爬虫,同时scrapy还有很多功能中间件,对于设置访问头,图片及文件下载都有相应的方法,有兴趣的可以深入研究!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 文/山雨 夜风习习,拂过面庞,拂过心上。今夜的月好圆,像你微笑的脸。当风轻轻吹过耳边,我仿佛...
    如影泡幻阅读 245评论 3 2
  • 外滩简介:外滩位于上海市中心区的黄浦江畔,它是上海的风景线,是到上海观光的游客必到之地。外滩又名中山东一路,全长约...
    余七泽阅读 4,881评论 5 3
  • 幽默是生活中的调节剂,会用的人总能带来意想不到的效果,不会的人也时常被幽默深深折服。 争抢一个玩具...
    日月源阅读 658评论 0 0
  • 周四的时候,去找了D。 她说她先去练车,练完再找我。还说好久没运动了,去爬爬山🧗‍♀️。我就说,好呀,去帽峰山吧,...
    人生渡轮阅读 171评论 1 1