IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Scrapy的入门 -> 正文阅读

[Python知识库]Scrapy的入门

参考博客:(28条消息) Scrapy爬虫框架,入门案例(非常详细)ck784101777的博客-CSDN博客scrapy

Scrapy框架主要由五大组件组成,分别是调度器(Scheduler)、下载器(Downloader)、爬虫(Spider)和实体管道(Item Pipeline)、Scrapy引擎(Scrapy Engine)。

Scrapy项目的准备工作

  • 新建虚拟环境

conda create -n spider python=3.6.3
  • 激活环境

conda activate spider
  • 安装Scrapy

conda install scrapy
  • Scrapy项目的生成

? ? ?1.建立项目文件

scrapy startproject 项目名
  1. 建立爬虫文件

scrapy genspider 爬虫名 域名
  1. 运行爬虫文件

scrapy crawl 爬虫名
  • 对spdier项目的配置文件进行修改,打开文件settings.py

  1. BOT_NAME:项目名

  2. USER_AGENT:索要爬取网站的USER_AGENT。默认是注释的,这个东西非常重要,如果不写很容易被判断为电脑,简单点写一个Mozilla/5.0即可

  3. ROBOTSTXT_OBEY:是否遵循机器人协议,默认是true,需要改为false,否则很多东西爬不了

  4. CONCURRENT_REQUESTS:最大并发数,很好理解,就是同时允许开启多少个爬虫线程

  5. DOWNLOAD_DELAY:下载延迟时间,单位是秒,控制爬虫爬取的频率,根据你的项目调整,不要太快也不要太慢,默认是3秒,即爬一个停3秒,设置为1秒性价比较高,如果要爬取的文件较多,写零点几秒也行

  6. COOKIES_ENABLED:是否保存COOKIES,默认关闭,开机可以记录爬取过程中的COKIE,非常好用的一个参数

  7. DEFAULT_REQUEST_HEADERS:默认请求头,上面写了一个USER_AGENT,其实这个东西就是放在请求头里面的,这个东西可以根据你爬取的内容做相应设置。

  8. ITEM_PIPELINES:项目管道,300为优先级,数字越小爬取的优先度越高

  9. 可以设置日志的等级与日志存放的路径。LOG_LEVEL= "" LOG_FILE="日志名.log"。日志等级分为:1.DEBUG 调试信息;2.INFO 一般信息;3.WARNING 警告;4.ERROR 普通错误;5.CRITICAL 严重错误

    如设置 LOG_LEVEL="WARNING",就只会WARNING等级之下的ERROR和CRITICAL? ? ? 默认等级是1

代码编写

打开项目下的爬虫py文件,如可以使用xpath提取百度首页的标题title

代码的运行可以选择

  1. 打开终端cmd,输入

    scrapy crawl baidu(爬虫名)

  2. 写一个run文件作为程序的入口,split是必须写的,目的是把字符串转为列表形式,第一个参数是scrapy,第二个crawl,第三个baidu(爬虫名)

导出为json或scv格式

使用run.py执行爬虫文件时添加-o选项即可

scrapy crawl 项目名 -o 文件名.csv

scrapy crawl 项目名 -o 文件名.json

对于json文件,在setting.js文件里添加,设置编码格式,否则会乱码:`FEED_EXPORT_ENCODING='utf-8'

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-01-03 16:02:37  更:2022-01-03 16:04:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:40:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码