python爬虫scrapy基本使用超详细教程

 更新时间:2021年02月20日 10:22:57   作者:小王子爱上玫瑰  
这篇文章主要介绍了python爬虫scrapy基本使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、介绍

官方文档:中文2.3版本

下面这张图大家应该很熟悉,很多有关scrapy框架的介绍中都会出现这张图,感兴趣的再去查询相关资料,当然学会使用scrapy才是最主要的。

在这里插入图片描述

二、基本使用

2.1 环境安装

1.linux和mac操作系统

pip install scrapy

2.windows系统

  1. 先安装wheel:pip install wheel
  2. 下载twisted:下载地址
  3. 安装twisted:pip install Twisted‑17.1.0‑cp36‑cp36m‑win_amd64.whl(记得带后缀)
  4. pip install pywin32
  5. pip install scrapy

3.Anaconda(推荐)

在我一开始学python使用的就是python3.8,在安装各种库的时候,总会有各种报错,真的有点让人奔溃。Anaconda在安装过程中就会安装一些常用的库,其次,当我们想要安装其他库时也很方便。当然大家也可以选择安装其他的一些软件,

在这里插入图片描述

2.2 scrapy使用流程

这里默认大家已经安装好scrapy库,大家要记得要在命令行里输入以下命令啊。(我使用的anaconda的命令行)

创建工程

scrapy startproject projectName

在这里插入图片描述
在这里插入图片描述

进入工程目录:这里一定要进入到刚才创建好的目录中

cd projectName

在这里插入图片描述

创建爬虫文件:创建的爬虫文件会出现在之前创建好的spiders文件夹下

scrapy genspider spiderName www.xxx.com

在这里插入图片描述在这里插入图片描述

编写相关代码

执行爬虫文件

scrapy crawl spiderName

在这里插入图片描述

2.3 文件解析

import scrapy

class HelloSpider(scrapy.Spider):
 name = 'hello' # 爬虫名称

 # 允许的域名:限定start_urls列表当中哪些url可以进行请求的发送
 # 通常情况下我们不会使用
 # allowed_domains = ['www.baidu.com'] 

 # 起始的url列表:scrapy会自动对start_urls列表中的每一个url发起请求
 # 我们可以手动添加我们需要访问的url
 start_urls = ['https://www.baidu.com/','https://www.csdn.net/']

 def parse(self, response): # 当scrapy自动向start_urls中的每一个url发起请求后,会将响应对象保存在response对象中
 # 代码一般是在parse方法中写
 print("response:",response)

在这里插入图片描述

2.4 settings.py一些常见的设置

相当于requests中的headers参数中的User-Agent

USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Edg/88.0.705.68'

可以忽略或者不遵守robots协议

ROBOTSTXT_OBEY = False 

只有程序出现错误的情况下,才显示日志文件,程序正常执行时只会输出我们想要的结果

LOG_LEVEL='ERROR' == scrapy crawl spiderName --nolog
//二者是等价的,当然还是推荐使用前者

未加LOG_LEVEL='ERROR'

在这里插入图片描述

LOG_LEVEL='ERROR'之后

在这里插入图片描述

scrapy 爬取文件保存为CSV文件中文乱码的解决办法

//下面的设置可能会导致繁体出现,可以逐个试一下
FEED_EXPORT_ENCODING = "gb18030"
FEED_EXPORT_ENCODING = "utf-8"
FEED_EXPORT_ENCODING = "gbk"

在这里插入图片描述

三、实例

3.1 实例要求

目的:爬取百度网页的百度热榜

在这里插入图片描述 

3.2 实例代码

实例代码

在这里插入图片描述 

3.3 输出结果

结果

在这里插入图片描述

到此这篇关于python爬虫scrapy基本使用超详细教程的文章就介绍到这了,更多相关python爬虫scrapy使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python通过TensorFlow卷积神经网络实现猫狗识别

    Python通过TensorFlow卷积神经网络实现猫狗识别

    今天小编就为大家分享一篇关于Python通过TensorFlow卷积神经网络实现猫狗识别,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Python发送form-data请求及拼接form-data内容的方法

    Python发送form-data请求及拼接form-data内容的方法

    这篇文章主要介绍了Python发送form-data请求及拼接form-data内容的方法,文中采用的是requests的方式发送multipart/form-data请求,需要的朋友可以参考下
    2016-03-03
  • python读取测试数据的多种方式

    python读取测试数据的多种方式

    本文主要介绍了python读取测试数据的多种方式,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Python批量处理csv并保存过程解析

    Python批量处理csv并保存过程解析

    这篇文章主要介绍了Python批量处理csv并保存过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • pycharm如何实现跨目录调用文件

    pycharm如何实现跨目录调用文件

    这篇文章主要介绍了pycharm如何实现跨目录调用文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Python利用字典将两个通讯录文本合并为一个文本实例

    Python利用字典将两个通讯录文本合并为一个文本实例

    这篇文章主要介绍了Python利用字典将两个通讯录文本合并为一个文本实例,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • 五个Python命令使用的小妙招分享

    五个Python命令使用的小妙招分享

    平常在使用python命令过程中,基本上都是用来安装python库时才使用到在控制台的python命令。然而,python命令还有更多的妙用,本文就来为大家详细讲讲
    2022-07-07
  • Anaconda下安装mysql-python的包实例

    Anaconda下安装mysql-python的包实例

    今天小编就为大家分享一篇Anaconda下安装mysql-python的包实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Anaconda安装OpenCV的方法图文教程

    Anaconda安装OpenCV的方法图文教程

    在Anaconda里安装OpenCV的方法有很多,下面这篇文章主要给大家介绍了关于Anaconda安装OpenCV的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • Python selenium 三种等待方式解读

    Python selenium 三种等待方式解读

    这篇文章主要介绍了Python selenium一定要会用selenium的等待,三种等待方式解读的相关资料,需要的朋友可以参考下
    2016-09-09

最新评论