前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Scrapy框架-爬虫程序相关属性和方法汇总

Scrapy框架-爬虫程序相关属性和方法汇总

作者头像
小小咸鱼YwY
发布2020-06-19 15:43:20
6070
发布2020-06-19 15:43:20
举报
文章被收录于专栏:python-爬虫python-爬虫

一.爬虫项目类相关属性

  • name:爬虫任务的名称
  • allowed_domains:允许访问的网站
  • start_urls: 如果没有指定url,就从该列表中读取url来生成第一个请求
  • custom_settings:值为一个字典,定义一些配置信息,在运行爬虫程序时,这些配置会覆盖项目级别的配置 所以custom_settings必须被定义成一个类属性,由于settings会在类实例化前被加载
  • settings:通过self.settings['配置项的名字']可以访问settings.py中的配置,如果自己定义了custom_settings还是以自己的为准
  • logger:日志名默认为spider的名字
  • crawler:该属性必须被定义到类方法from_crawler中,crawler可以直接crawler.settings.get('setting文件中的名称')

二.爬虫项目类相关方法

  • from_crawler(crawler, *args, **kwargs):这个就是优先于__init__执行函数举例代码可以如下
代码语言:javascript
复制
#一般配置数据库的属性时候稍微用影响
#简单些下
@classmethod
def from_crawler(cls,crawler):
    HOST = crawler.settings.get('HOST') #这里面的属性都是在settings中设置的名称
    PORT = crawler.settings.get('PORT')
    USER = crawler.settings.get('USER')
    PWD = crawler.settings.get('PWD')
    DB = crawler.settings.get('DB')
    TABLE = crawler.settings.get('TABLE')
    return cls(HOST,PORT,USER,PWD,DB,TABLE)
def __init__(self,HOST,PORT,USER,PWD,DB,TABLE):
    self.HOST = HOST
    self.PORT = PORT
    self.USER = USER
    self.PWD = PWD
    self.DB = DB
    self.TABLE = TABLE
#看一眼就知道了吧
  • start_requests(self):该方法用来发起第一个Requests请求,且必须返回一个可迭代的对象。它在爬虫程序打开时就被Scrapy调用,Scrapy只调用它一次。 默认从start_urls里取出每个url来生成Request(url, dont_filter=True)

举例

如果不写start_requests方法:他会把start_urls的两个网址都发送过去

代码语言:javascript
复制
import scrapy
class BaiduSpider(scrapy.Spider):
    name = 'test'
    allowed_domains = ['http://httpbin.org/get']
    start_urls = ['http://httpbin.org/get','http://httpbin.org/get']
    
    def parse(self, response):
        print('接受一次')

如果写start_requests方法:他会把我们指定的Request对象发送出去,发送必须以迭代器的形式输出

  • parse(self,response):这是默认的回调函数
  • log(self, message, level=logging.DEBUG, **kw): 定义日志级别
  • close(self,reason):关闭爬虫程序执行
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.爬虫项目类相关属性
  • 二.爬虫项目类相关方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档