广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python中Scrapy爬虫框架的作用有哪些
  • 314
分享到

python中Scrapy爬虫框架的作用有哪些

2023-06-06 12:06:58 314人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

本文章向大家介绍python中scrapy爬虫框架的作用有哪些,主要包括Python中Scrapy爬虫框架的作用有哪些的使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。python可以做什么Py

本文章向大家介绍pythonscrapy爬虫框架的作用有哪些,主要包括Python中Scrapy爬虫框架的作用有哪些的使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

python可以做什么

Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂、容易入门、功能强大,在许多领域中都有广泛的应用,例如最热门的大数据分析人工智能web开发等。

Scrapy是什么?

Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。

其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取api所返回的数据(例如 Amazon Associates WEB Services ) 或者通用的网络爬虫。

Scrapy是一个非常好用的爬虫框架,它不仅提供了一些开箱即用的基础组件,还提供了强大的自定义功能。

# Scrapy 安装

Scrapy 官网:https://scrapy.org/

各位同学的电脑环境应该和小编的相差不远(如果是使用 win10 的话) 安装过程需要10分钟左右

安装命令:

pip install scrapy

由于 Scrapy 依赖了大量的第三方的包,所以在执行上面的命令后并不会马上就下载 Scrapy ,而是会先不断的下载第三方包,包括并不限于以下几种:

  • pyOpenSSL:Python 用于支持 SSL(Security Socket Layer)的包。

  • cryptography:Python 用于加密的库。

  • CFFI:Python 用于调用 C 的接口库。

  • zope.interface:为 Python 缺少接口而提供扩展的库。

  • lxml:一个处理 XML、html 文档的库,比 Python 内置的 xml 模块更好用。

  • CSSselect:Python 用于处理 CSS 选择器的扩展包。

  • Twisted:为 Python 提供的基于事件驱动的网络引擎包。

  • ……

如果安装不成功多试两次 或者 执行pip install --upgrade pip 后再执行 pip install scrapy

等待命令执行完成后,直接输入 scrapy 进行验证。

C:\Users\Administrator>scrapyScrapy 2.4.0 - no active projectAvailable commands:bench   Run quick benchmark test...

版本号可能会有差别,不用太在意

如果能正常出现以上内容,说明我们已经安装成功了。

理论上 Scrapy 安装出现各种问题才算正常情况

三、Scrapy创建项目

Scrapy 提供了一个命令来创建项目 scrapy 命令,在命令行上运行:

scrapy startproject jianshu

我们创建一个项目jianshu用来爬取简书首页热门文章的所有信息。

jianshu/ scrapy.cfg jianshu/  __init__.py  items.py  pipelines.py  settings.py  spiders/   __init__.py   ...

spiders文件夹下就是你要实现爬虫功能(具体如何爬取数据的代码),爬虫的核心。在spiders文件夹下自己创建一个spider,用于爬取简书首页热门文章。

scrapy.cfg是项目的配置文件。

settings.py用于设置请求的参数,使用代理,爬取数据后文件保存等。

items.py 自己预计需要爬取的内容

middlewares.py自定义中间件的文件

pipelines.py 管道,保持数据

项目的目录就用网图来展示一下吧

python中Scrapy爬虫框架的作用有哪些

image Scrapy爬取简书首页热门文章

cd到Jianshu项目中,生成一个爬虫:

scrapy genspider jianshublog www.jianshu.com

这种方式生成的是常规爬虫

1)新建jianshuSpider

import scrapyclass JianshublogSpider(scrapy.Spider): name = 'jianshublog' allowed_domains = ['www.jianshu.com'] start_urls = ['Http://www.jianshu.com/']  def parse(self, response):  pass

可以看到,这个类里面有三个属性 nameallowed_domainsstart_urls 和一个parse()方法。

name,它是每个项目唯一的名字,用来区分不同的 Spider。

allowed_domains,它是允许爬取的域名,如果初始或后续的请求链接不是这个域名下的,则请求链接会被过滤掉。
start_urls,它包含了 Spider 在启动时爬取的 url 列表,初始请求是由它来定义的。

parse,它是 Spider 的一个方法。默认情况下,被调用时 start_urls 里面的链接构成的请求完成下载执行后,返回的响应就会作为唯一的参数传递给这个函数。该方法负责解析返回的响应、提取数据或者进一步生成要处理的请求。

到这里我们就清楚了,parse() 方法中的 response 是前面的 start_urls中链接的爬取结果,所以在 parse() 方法中,我们可以直接对爬取的结果进行解析。

修改USER_AGENT

打开settings.py 添加 UA 头信息

USER_AGENT = 'Mozilla/5.0 (windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3493.3 Safari/537.36'

修改`parse`方法解析网页

我们打开简书首页  右键检查(ctrl+shift+I)发现所有的博客头条都放在类名.note-list .content 的div 节点里面

python中Scrapy爬虫框架的作用有哪些

修改jianshublog.py代码如下

python中Scrapy爬虫框架的作用有哪些

jianshublog.py

import scrapy class JianshublogSpider(scrapy.Spider): name = 'jianshublog' allowed_domains = ['www.jianshu.com'] start_urls = ['http://www.jianshu.com/']  def parse(self, response):  blogs = response.css('.note-list .content')  # 获取博客列表  for blog in blogs: # 遍历博客列表   title = blog.css('.title::text').extract_first() # 提取标题   link = blog.css('.title::attr(href)').extract_first() # 提取链接   nickname = blog.css('.nickname::text').extract_first() # 提作者   print("标题:",title) # 打印标题   # print("链接:", link)   # print("作者:", nickname)

最后别忘了执行爬虫命令

scrapy crawl jianshublog

到此这篇关于python中Scrapy爬虫框架的作用有哪些的文章就介绍到这了,更多相关的内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python中Scrapy爬虫框架的作用有哪些

本文链接: https://www.lsjlt.com/news/247041.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python中Scrapy爬虫框架的作用有哪些
    本文章向大家介绍python中Scrapy爬虫框架的作用有哪些,主要包括python中Scrapy爬虫框架的作用有哪些的使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。python可以做什么Py...
    99+
    2023-06-06
  • Python爬虫框架-scrapy的使用
    Scrapy Scrapy是纯python实现的一个为了爬取网站数据、提取结构性数据而编写的应用框架。 Scrapy使用了Twisted异步网络框架来处理网络通讯,可以加快我们的下载速度,并且包含了...
    99+
    2022-06-02
    Python爬虫框架scrapy使用 Python scrapy使用
  • Python爬虫框架之Scrapy中Spider的用法
    Scrapy中Spider的用法 Spider类定义了如何爬取某个(或某些)网站。包括了爬取的动作(例如:是否跟进链接)以及如何从网页的内容中提取结构化数据(爬取item)。换句话说,Spider就是您定义爬取的动作...
    99+
    2022-06-02
    Spider的用法 Python Scrapy框架
  • Python爬虫框架scrapy的使用示例
    这篇文章主要介绍了Python爬虫框架scrapy的使用示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python可以做什么Python是一种编程语言,内置了许多有效的工...
    99+
    2023-06-14
  • 怎么使用Python的Scrapy爬虫框架
    本篇内容介绍了“怎么使用Python的Scrapy爬虫框架”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Scrapy是Python开发的一个...
    99+
    2023-06-02
  • 常用python爬虫框架有哪些
    常用的Python爬虫框架有以下几个: BeautifulSoup:一个HTML和XML解析库,可以方便地从网页中提取数据。 ...
    99+
    2023-10-21
    python
  • Python爬虫框架都有哪些
    Python中的爬虫框架,有Cola、Scrapy、PySpider、Portia常见的几种。ColaCola是一个分布式的爬虫框架,对于用户来说,只需编写几个特定的函数,而无需关注分布式运行的细节,任务会自动分配到多台机器上,整个过程对用...
    99+
    2022-10-08
  • 常用的Python爬虫框架有哪些
    常用的Python爬虫框架有以下几个:1. Scrapy:Scrapy是一个高级的Python爬虫框架,提供了强大的爬虫功能和可扩展性,适用于大规模的数据抓取。2. BeautifulSoup:BeautifulSoup是一个用于解析H...
    99+
    2023-08-11
    Python
  • Python的爬虫框架scrapy用21行代码写一个爬虫
    开发说明 开发环境:Pycharm 2017.1(目前最新) 开发框架:Scrapy 1.3.3(目前最新) 目标 爬取线报网站,并把内容保存到items.json里 页面分析 根据上图我们可以发...
    99+
    2022-06-04
    爬虫 框架 代码
  • python主流爬虫框架有哪些
    Python主流的爬虫框架有以下几个:1. Scrapy:Scrapy是一个强大的、可扩展的、快速的高级爬虫框架,支持并发、分布式爬...
    99+
    2023-08-23
    python
  • nodejs中有哪些爬虫框架
    这篇文章给大家介绍nodejs中有哪些爬虫框架,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。第一步:安装 Crawl-petnodejs 就不用多介绍吧,用 npm 安装 crawl-...
    99+
    2022-10-19
  • php中有哪些爬虫框架
    php中有哪些爬虫框架?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。php有什么特点1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP支持多种主流与非主流的数据库。...
    99+
    2023-06-14
  • python爬虫框架Scrapy怎么安装使用
    这篇文章主要介绍了python爬虫框架Scrapy怎么安装使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python爬虫框架Scrapy怎么安装使用文章都会有所收获,下面我...
    99+
    2022-10-19
  • python爬虫入门之Scrapy框架怎么用
    这篇文章将为大家详细讲解有关python爬虫入门之Scrapy框架怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,P...
    99+
    2023-06-14
  • java有哪些爬虫框架
    java有哪些爬虫框架?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理...
    99+
    2023-06-14
  • php爬虫框架有哪些
    php中常见的爬虫框架有Beanbun、PHPCrawl和phpspiderBeanbunBeanbun是一款使用php编写的多进程网络爬虫框架,具有良好的开放性和高可扩展性,Beanbun遵循PSR-4标准,且支持守护进程与普通进程、支持...
    99+
    2022-10-08
  • Python的Scrapy爬虫框架简单学习笔记
    一、简单配置,获取单个网页上的内容。 (1)创建scrapy项目 scrapy startproject getblog (2)编辑 items.py # -*- coding: utf-8 ...
    99+
    2022-06-04
    爬虫 学习笔记 框架
  • Python之Scrapy爬虫框架安装及使用详解
    题记:早已听闻python爬虫框架的大名。近些天学习了下其中的Scrapy爬虫框架,将自己理解的跟大家分享。有表述不当之处,望大神们斧正。 一、初窥Scrapy Scrapy是一个为了爬取网站数据,提取结构...
    99+
    2022-06-04
    爬虫 详解 框架
  • python爬虫框架Scrapy基本应用学习教程
    在正式编写爬虫案例前,先对 scrapy 进行一下系统的学习。 scrapy 安装与简单运行 使用命令 pip install scrapy 进行安装,成功之后,还需要随手收藏几个网...
    99+
    2022-11-12
  • python爬虫框架scrapy下载中间件的编写方法
    目录下载中间件process_requestprocess_responseprocess_exception其它下载中间件 在每一个scrapy工程中都有一个名为 middlewa...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作