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


Posted in Python onFebruary 20, 2021

一、介绍

官方文档:中文2.3版本

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

python爬虫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在安装过程中就会安装一些常用的库,其次,当我们想要安装其他库时也很方便。当然大家也可以选择安装其他的一些软件,

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

2.2 scrapy使用流程

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

创建工程

scrapy startproject projectName

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

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

cd projectName

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

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

scrapy genspider spiderName www.xxx.com

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

编写相关代码

执行爬虫文件

scrapy crawl spiderName

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

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)

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

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'

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

LOG_LEVEL='ERROR'之后

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

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

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

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

三、实例

3.1 实例要求

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

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

3.2 实例代码

实例代码

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

3.3 输出结果

结果

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

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

Python 相关文章推荐
python Django连接MySQL数据库做增删改查
Nov 07 Python
利用Python和OpenCV库将URL转换为OpenCV格式的方法
Mar 27 Python
详解python使用Nginx和uWSGI来运行Python应用
Jan 09 Python
django传值给模板, 再用JS接收并进行操作的实例
May 28 Python
idea创建springMVC框架和配置小文件的教程图解
Sep 18 Python
python调用opencv实现猫脸检测功能
Jan 15 Python
python实现给微信指定好友定时发送消息
Apr 29 Python
Numpy 理解ndarray对象的示例代码
Apr 03 Python
如何设置PyCharm中的Python代码模版(推荐)
Nov 20 Python
总结Python使用过程中的bug
Jun 18 Python
Python中的套接字编程是什么?
Jun 21 Python
Python Pygame实战之塔防游戏的实现
Mar 17 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
Feb 20 #Python
conda安装tensorflow和conda常用命令小结
Feb 20 #Python
TensorFlow低版本代码自动升级为1.0版本
Feb 20 #Python
python爬虫scrapy基于CrawlSpider类的全站数据爬取示例解析
Feb 20 #Python
TensorFlow的环境配置与安装方法
Feb 20 #Python
python爬虫爬取某网站视频的示例代码
Feb 20 #Python
python爬虫线程池案例详解(梨视频短视频爬取)
Feb 20 #Python
You might like
2020年4月放送决定!第2期TV动画《邪神酱飞踢》视觉图&主题曲情报公开!
2020/03/06 日漫
星际争霸 Starcraft 秘技补丁
2020/03/14 星际争霸
php中对2个数组相加的函数
2011/06/24 PHP
将PHP从5.3.28升级到5.3.29时Nginx出现502错误
2015/05/09 PHP
PHP  Yii清理缓存的实现方法
2016/11/10 PHP
给Javascript数组插入一条记录的代码
2007/08/30 Javascript
使用JavaScript动态设置样式实现代码及演示动画
2013/01/25 Javascript
jquery验证手机号码、邮箱格式是否正确示例代码
2013/07/28 Javascript
jquery ajax 局部无刷新更新数据的实现案例
2014/02/08 Javascript
原生js实现网易轮播图效果
2020/04/10 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
javascript实现复选框全选或反选
2017/02/04 Javascript
基于vue配置axios的方法步骤
2017/11/09 Javascript
利用10行js代码实现上下滚动公告效果
2017/12/08 Javascript
ES6之模版字符串的具体使用
2018/05/17 Javascript
Vue中使用ElementUI使用第三方图标库iconfont的示例
2018/10/11 Javascript
Element输入框带历史查询记录的实现示例
2019/01/15 Javascript
详解在网页上通过JS实现文本的语音朗读
2019/03/28 Javascript
微信小程序完美解决scroll-view高度自适应问题的方法
2020/08/08 Javascript
[02:06]2018完美世界全国高校联赛秋季赛开始报名(附彩蛋)
2018/09/03 DOTA
python实现的一只从百度开始不断搜索的小爬虫
2013/08/13 Python
Python实现抢购IPhone手机
2018/02/07 Python
python下解压缩zip文件并删除文件的实例
2018/04/24 Python
python实现在列表中查找某个元素的下标示例
2020/11/16 Python
电气工程及自动化专业自荐书范文
2013/12/18 职场文书
肯尼迪就职演说稿
2013/12/31 职场文书
道路交通安全实施方案
2014/03/12 职场文书
经典洗发水广告词
2014/03/13 职场文书
清明节演讲稿
2014/05/27 职场文书
党委书记个人对照检查材料
2014/09/15 职场文书
公安机关正风肃纪剖析材料
2014/10/10 职场文书
教师党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
个人党性锻炼总结
2015/03/05 职场文书
2015年机关党委工作总结
2015/05/23 职场文书
《田忌赛马》教学反思
2016/02/19 职场文书
PostgreSQL将数据加载到buffer cache中操作方法
2021/04/16 PostgreSQL