Python的Scrapy框架基本使用详解

 更新时间:2023年12月06日 10:10:15   作者:凌冰_  
这篇文章主要介绍了Python的Scrapy框架基本使用详解,Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据,Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试,需要的朋友可以参考下

一、Scrapy框架使用

1. 创建scrapy项目

(不能有汉字,不能数字开头)

scrapy startproject Baidu

2. 创建爬虫文件

cd Baidu
scrapy  genspider wenda www.baidu.com

注意: parse()是执行了start_url之后要执行的方法,方法中的response就是返回的对象。相当于response = requests.get或requests.post

3. 运行爬虫代码

scrapy crawl wenda

在parse()函数打印一句话,运行后发现没有打印结果,原因是被一个叫robots.txt的文件给阻止了。

解决:大平台的君子协议,只需在settings里将ROBOTSTXT_OBEY = True注释掉即可。

再次运行 

 4. scrapy文档

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

scrapy文档:https://doc.scrapy.org/en/latest/intro/tutorial.html 

scrapy日志:https://docs.scrapy.org/en/latest/news.html

 二、scrapy项目的结构

四、response的属性和方法

  • response.text 获取响应的字符串(源码)
  • response.body 获取响应的二进制数据(二进制源码)
  • response.xpath 直接通过xpath解析response中的内容
  • response.extract() 提取selector对象的data所有属性值
  • response.extract_first() 提取selector列表的第一个数据
  • response.get() : 得到第一条数据
  • response.getall() :取出所有的数据,以列表的方式呈现

五、scrapy工作原理

  1. 引擎向spiders要url
  2. 引擎将要爬取的url给调度器
  3. 调度器会将url生成请求对象放入到指定的队列中
  4. 从队列中出队一个请求
  5. 引擎将请求交给下载器处理
  6. 下载器发送请求获取互联网数据
  7. 下载器将数据返回给引擎
  8. 引擎将数据再次给spiders
  9. spiders通过xpath解析该数据,得到数据或url
  10. spiders将数据或url给到引擎
  11. 引擎判断是数据还是url,若是数据,交给管道处理;若是url,交给调度器处理

到此这篇关于Python的Scrapy框架基本使用详解的文章就介绍到这了,更多相关Python的Scrapy框架内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 利用Python还原方阵游戏详解

    利用Python还原方阵游戏详解

    这篇文章的灵感来源于我玩游戏的时候,看见一个大佬在游戏里面建造了“还原方阵游戏”,就感觉很牛掰,就想着python不是有矩阵吗,可以还原一下呢,感兴趣的小伙伴可以了解一下
    2023-01-01
  • python基础教程之面向对象的一些概念

    python基础教程之面向对象的一些概念

    这篇文章主要介绍了python基础教程之面向对象的一些概念,面向对象是一种代码组织方式,让代码复用最大化,需要的朋友可以参考下
    2014-08-08
  • 解密Python中的描述符(descriptor)

    解密Python中的描述符(descriptor)

    这篇文章主要介绍了解密Python中的描述符(descriptor),本文详细讲解了描述符(descriptor)的作用、访问描述符、对描述符赋值、删除描述符等内容,需要的朋友可以参考下
    2015-06-06
  • uwsgi启动django项目的实现步骤

    uwsgi启动django项目的实现步骤

    本文主要介绍了uwsgi启动django项目的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Python绘制惊艳的桑基图的示例详解

    Python绘制惊艳的桑基图的示例详解

    很多时候,我们需要一种必须可视化数据如何在实体之间流动的情况。这个时候就需要桑基图,它通常描绘 从一个实体(或节点)到另一个实体(或节点)的数据流。本文将利用Python绘制惊艳的桑基图,需要的可以参考一下
    2022-02-02
  • Python实现快速多线程ping的方法

    Python实现快速多线程ping的方法

    这篇文章主要介绍了Python实现快速多线程ping的方法,实例分析了Python多线程及ICMP数据包的发送技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • Python实现可视化CSV文件中的数据

    Python实现可视化CSV文件中的数据

    CSV文件包含许多记录,数据分布在各行和各列中,在这篇文章中,小编主要为大家详细介绍了Python如何实现可视化CSV文件中的数据,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-11-11
  • Python使用PIL将图片或GIF转为字符画的方法详解

    Python使用PIL将图片或GIF转为字符画的方法详解

    PIL是专为Python语言设计的图像处理库,它涵盖了广泛的图像处理功能,如图像的加载、保存、编辑,以及执行多样化的图像处理任务,本文给大家介绍了Python使用PIL将图片或GIF转为字符画的方法,需要的朋友可以参考下
    2025-03-03
  • python 如何使用find和find_all爬虫、找文本的实现

    python 如何使用find和find_all爬虫、找文本的实现

    这篇文章主要介绍了python 如何使用find和find_all,爬虫、找文本,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • python pandas 数据排序的几种常用方法

    python pandas 数据排序的几种常用方法

    这篇文章主要介绍了python pandas数据排序的几种常用方法,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09

最新评论