欢迎来到赛兔子家园

scrapy框架

scrapy爬虫框架

简介:所谓框架其实就是一个被集成了很多功能且具有很强通用性的一个项目模板;

学习:学习框架中集成的各种功能特性;

scrapy专门用于异步爬虫的框架

高性能的数据解析、请求发送、持久化存储、全站数据爬取、中间件、分布式...

环境安装

windows安装

1、pip install wheel

2、下载twisted文件,下载地址: https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted

3、进入下载目录,执行 pip install Twisted-17.1.0-cp35-cp35m-win_amd64.whl(Twisted就是一个异步的架构,被作用到scrapy中)

      安装报错:需要更换另一个版本的twisted文件进行安装即可。

4、pip  install pywin32

5、pip  install scrapy

安装验证:cmd中输入scrapy按回车,没有报错说明安装成功

scrapy的基本使用:

第一步:创建一个工程:scrapy startproject ProName

目录结构

目录结构介绍

spiders : 爬虫文件夹,必须要存放一个爬虫源文件,默认是没有爬虫文件的,需要自己创建;

settings.py 工程的配置文件;

第二步cd ProName

创建爬虫文件:scrapy genspider spiderName www.xxx.com

例如:创建名称为first的爬虫文件,只需要cd到工程目录下即可执行命令 :scrapy genspider  first  www.xxx.com

爬虫文件中编写对应的爬虫代码。

第三步执行工程

scrapy crawl  spiderName

执行工程后,默认会输出工程所有的日志信息。

指定类型日志的输出(只输出错误类型的日志):settings.py 中 LOG_LEVEL ="ERROR"  

爬虫文件spiderName内容介绍:

import scrapy


class FirstSpider(scrapy.Spider):
    # 爬虫文件的名称,作用当前源文件的唯一标识
    name = 'first'
    # 允许的域名,通常注释掉:allowed_domains
    # allowed_domains = ['www.xxx.com']
    # 起始的url列表,只可以存储url
    # 作用:列表中存储的url都会被进行get请求的发送
    start_urls = ['https://www.baidu.com/', 'https://www.sogou.com']

    # 数据解析
    # parse方法调用的次数完全取决于请求的次数
    # 参数response,表示服务器返回的响应对象
    def parse(self, response):
        print("到这里啊", response)

settings.py配置

  • 禁止robots
  • 指定日志类型:LOG_LEVEL ="ERROR"  
  • UA伪装
...
LOG_LEVEL = "ERROR"  # 定义只输出错误的日志

# Crawl responsibly by identifying yourself (and your website) on the user-agent
# UA伪装
USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'
# Obey robots.txt rules
# robots协议,默认True
ROBOTSTXT_OBEY = False

...

 

posted on 2021-07-19 19:45  赛兔子  阅读(19)  评论(0编辑  收藏  举报

导航