Scrapy爬虫框架运行爬虫文件 简单的处理settings.py配置信息 处理scrapy日志

鳄鱼君

发表文章数:642

Vieu四代商业主题

高扩展、安全、稳定、响应式布局多功能模板。

¥69 现在购买
首页 » Python » Scrapy爬虫框架运行爬虫文件 简单的处理settings.py配置信息 处理scrapy日志

Scrapy爬虫框架的基本使用 创建spider工程和spider爬虫 scrapy基本命令这篇文章,我们已经知道了如何创建一个爬虫项目,现在接着文章中的代码来介绍。

爬虫项目创建好之后,就是运行爬虫文件。那么我们可以修改一下代码:

# -*- coding: utf-8 -*-
import scrapy
class MeiziSpider(scrapy.Spider):
    # name表示爬虫文件的名称,爬虫文件的名称表示的是爬虫问啊进的唯一标识
    name = 'meizi'
    # 允许的域名:用来做请求的限定,一旦该域名定义好之后,则start_url只可以发起该域名下的url的get请求
    allowed_domains = ['www.meizitu.com']
    # 起始的url列表:将要爬取的url存放在该列表中,这个列表就可以帮我们将每一个url进行get请求的发送
    start_urls = ['https://www.meizitu.com/','https://www.e1yu.com']
    # parse用于数据解析,response参数就是请求回来的相应对象
    def parse(self, response):
        print(response)

使用命令来运行我们的爬虫文件:

scrapy crawl meizi

这时你会看到控制台输出了很多的信息,这些都是Scrapy输出的日志信息。这些日志可能会干扰我们数据的显示,那么你可以在settings.py文件中指定日志的等级,这个日志的等级如果你不知到的话可参考:logging模块介绍,这里不多说明。现在我想要指定日志等级为error,在settisng.py文件中添加:

#指定日志的等级为error
LOG_LEVEL='ERROR' #表示只输出错误日志,代码没错就不输出日志

然后在运行爬虫,就会发现输出的只有response的信息。这里我请求的两个网站中的robots.txt是没有限制的,也就是说任何爬虫都可以爬取,所以你看到了response信息。需要注意的是,Scrapy默认情况下时遵从robots协议的,需要在settings.py配置文件中进行修改(不遵从robots协议):

# Obey robots.txt rules
ROBOTSTXT_OBEY = False

对于requests,我们可以更换UA,在scrapy中也可以配置UA,这里你可以简单的修改settings.py配置文件:

# Crawl responsibly by identifying yourself (and your website) on the user-agent
#USER_AGENT = 'myspider1 (+http://www.yourdomain.com)'

你只需要去掉注释并更换UA即可,这是最简单的方式。接下来是数据的解析,参考文章:Scrapy爬虫框架进行数据解析 使用Scrapy内建的Xpath进行数据解析

未经允许不得转载:作者:鳄鱼君, 转载或复制请以 超链接形式 并注明出处 鳄鱼君
原文地址:《Scrapy爬虫框架运行爬虫文件 简单的处理settings.py配置信息 处理scrapy日志》 发布于2020-05-09

分享到:
赞(0) 赏杯咖啡

评论 抢沙发

8 + 3 =


文章对你有帮助可赏作者一杯咖啡

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.6主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册