爬虫Scrapy框架的setting.py文件详解

本文深入解析Scrapy爬虫的设置参数,包括线程数、下载延时、并发请求控制及User-Agent随机切换策略,旨在提升爬虫效率与稳定性。
 
  1. # -*- coding: utf-8 -*-

  2.  
  3. # Scrapy settings for demo1 project

  4. #

  5. # For simplicity, this file contains only settings considered important or

  6. # commonly used. You can find more settings consulting the documentation:

  7. #

  8. # http://doc.scrapy.org/en/latest/topics/settings.html

  9. # http://scrapy.readthedocs.org/en/latest/topics/downloader-middleware.html

  10. # http://scrapy.readthedocs.org/en/latest/topics/spider-middleware.html

  11.  
  12. BOT_NAME = 'demo1' #Scrapy项目的名字,这将用来构造默认 User-Agent,同时也用来log,当您使用 startproject 命令创建项目时其也被自动赋值。

  13.  
  14. SPIDER_MODULES = ['demo1.spiders'] #Scrapy搜索spider的模块列表 默认: [xxx.spiders]

  15. NEWSPIDER_MODULE = 'demo1.spiders' #使用 genspider 命令创建新spider的模块。默认: 'xxx.spiders'

  16.  
  17.  
  18. #爬取的默认User-Agent,除非被覆盖

  19. #USER_AGENT = 'demo1 (+http://www.yourdomain.com)'

  20.  
  21. #如果启用,Scrapy将会采用 robots.txt策略

  22. ROBOTSTXT_OBEY = True

  23.  
  24. #Scrapy downloader 并发请求(concurrent requests)的最大值,默认: 16

  25. #CONCURRENT_REQUESTS = 32

  26.  
  27. #为同一网站的请求配置延迟(默认值:0)

  28. # See http://scrapy.readthedocs.org/en/latest/topics/settings.html#download-delay

  29. # See also autothrottle settings and docs

  30. #DOWNLOAD_DELAY = 3 下载器在下载同一个网站下一个页面前需要等待的时间,该选项可以用来限制爬取速度,减轻服务器压力。同时也支持小数:0.25 以秒为单位

  31.  
  32.  
  33. #下载延迟设置只有一个有效

  34. #CONCURRENT_REQUESTS_PER_DOMAIN = 16 对单个网站进行并发请求的最大值。

  35. #CONCURRENT_REQUESTS_PER_IP = 16 对单个IP进行并发请求的最大值。如果非0,则忽略 CONCURRENT_REQUESTS_PER_DOMAIN 设定,使用该设定。 也就是说,并发限制将针对IP,而不是网站。该设定也影响 DOWNLOAD_DELAY: 如果 CONCURRENT_REQUESTS_PER_IP 非0,下载延迟应用在IP而不是网站上。

  36.  
  37. #禁用Cookie(默认情况下启用)

  38. #COOKIES_ENABLED = False

  39.  
  40. #禁用Telnet控制台(默认启用)

  41. #TELNETCONSOLE_ENABLED = False

  42.  
  43. #覆盖默认请求标头:

  44. #DEFAULT_REQUEST_HEADERS = {

  45. # 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',

  46. # 'Accept-Language': 'en',

  47. #}

  48.  
  49. #启用或禁用蜘蛛中间件

  50. # See http://scrapy.readthedocs.org/en/latest/topics/spider-middleware.html

  51. #SPIDER_MIDDLEWARES = {

  52. # 'demo1.middlewares.Demo1SpiderMiddleware': 543,

  53. #}

  54.  
  55. #启用或禁用下载器中间件

  56. # See http://scrapy.readthedocs.org/en/latest/topics/downloader-middleware.html

  57. #DOWNLOADER_MIDDLEWARES = {

  58. # 'demo1.middlewares.MyCustomDownloaderMiddleware': 543,

  59. #}

  60.  
  61. #启用或禁用扩展程序

  62. # See http://scrapy.readthedocs.org/en/latest/topics/extensions.html

  63. #EXTENSIONS = {

  64. # 'scrapy.extensions.telnet.TelnetConsole': None,

  65. #}

  66.  
  67. #配置项目管道

  68. # See http://scrapy.readthedocs.org/en/latest/topics/item-pipeline.html

  69. #ITEM_PIPELINES = {

  70. # 'demo1.pipelines.Demo1Pipeline': 300,

  71. #}

  72.  
  73. #启用和配置AutoThrottle扩展(默认情况下禁用)

  74. # See http://doc.scrapy.org/en/latest/topics/autothrottle.html

  75. #AUTOTHROTTLE_ENABLED = True

  76.  
  77. #初始下载延迟

  78. #AUTOTHROTTLE_START_DELAY = 5

  79.  
  80. #在高延迟的情况下设置的最大下载延迟

  81. #AUTOTHROTTLE_MAX_DELAY = 60

  82.  
  83.  
  84. #Scrapy请求的平均数量应该并行发送每个远程服务器

  85. #AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0

  86.  
  87. #启用显示所收到的每个响应的调节统计信息:

  88. #AUTOTHROTTLE_DEBUG = False

  89.  
  90. #启用和配置HTTP缓存(默认情况下禁用)

  91. # See http://scrapy.readthedocs.org/en/latest/topics/downloader-middleware.html#httpcache-middleware-settings

  92. #HTTPCACHE_ENABLED = True

  93. #HTTPCACHE_EXPIRATION_SECS = 0

  94. #HTTPCACHE_DIR = 'httpcache'

  95. #HTTPCACHE_IGNORE_HTTP_CODES = []

  96. #HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage'

  97.  

 

 

解释几个参数:

ROBOTSTXT_OBEY = True -----------是否遵守robots.txt

CONCURRENT_REQUESTS = 16 -----------开启线程数量,默认16

AUTOTHROTTLE_START_DELAY = 3 -----------开始下载时限速并并延迟时间

AUTOTHROTTLE_MAX_DELAY = 60 -----------高并发请求时最大延迟时间

最底下的几个:是否启用在本地缓存,如果开启会优先读取本地缓存,从而加快爬取速度,视情况而定

HTTPCACHE_ENABLED = True

HTTPCACHE_EXPIRATION_SECS = 0

HTTPCACHE_DIR ='httpcache'

HTTPCACHE_IGNORE_HTTP_CODES = []

HTTPCACHE_STORAGE ='scrapy.extensions.httpcache.FilesystemCacheStorage'

以上几个可以视项目需要开启,但是有两个参数最好每次都开启,而每次都是项目文件手动开启不免有些麻烦,最好是项目创建后就自动开启


#DEFAULT_REQUEST_HEADERS = {
#'接受':'text / html,application / xhtml + xml,application / xml; q = 0.9,* / *; q = 0.8',
#'Accept-Language':'en',
#}

这个是浏览器请求头,很多网站都会检查客户端的头,比如豆瓣就是每一个请求都检查头的user_agent,否则只会返回403,可以开启

#USER_AGENT ='Chirco(+ http://www.yourdomain.com)'

这个是至关重要的,大部分服务器在请求快了会首先检查User_Agent,而scrapy默认的浏览器头是scrapy1.1我们需要开启并且修改成浏览器头,如:Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.1(KHTML,和Gecko一样)Chrome / 22.0.1207.1 Safari / 537.1

但是最好是这个USER-AGENT会随机自动更换最好了。

下面的代码可以从预先定义的用户代理的列表中随机选择一个来采集不同的页面 

在settings.py中添加以下代码

 

 
  1. DOWNLOADER_MIDDLEWARES = {

  2. 'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware' : None,

  3. 'randoms.rotate_useragent.RotateUserAgentMiddleware' :400

  4. }

rotate_useragent的代码为:

 

 
  1. # -*- coding: utf-8 -*-

  2. import random

  3. from scrapy.contrib.downloadermiddleware.useragent import UserAgentMiddleware

  4.  
  5. class RotateUserAgentMiddleware(UserAgentMiddleware):

  6. def __init__(self, user_agent=''):

  7. self.user_agent = user_agent

  8.  
  9. def process_request(self, request, spider):

  10. #这句话用于随机选择user-agent

  11. ua = random.choice(self.user_agent_list)

  12. if ua:

  13. print('User-Agent:'+ua)

  14. request.headers.setdefault('User-Agent', ua)

  15.  
  16. #the default user_agent_list composes chrome,I E,firefox,Mozilla,opera,netscape

  17. user_agent_list = [\

  18. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1"\

  19. "Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11",\

  20. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6",\

  21. "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6",\

  22. "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/19.77.34.5 Safari/537.1",\

  23. "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5",\

  24. "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.36 Safari/536.5",\

  25. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",\

  26. "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",\

  27. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",\

  28. "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3",\

  29. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3",\

  30. "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",\

  31. "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",\

  32. "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",\

  33. "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.0 Safari/536.3",\

  34. "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24",\

  35. "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24"

  36. ]


 

运行爬虫可以看到信息:

 

 
  1. 2017-04-16 00:07:40 [scrapy.extensions.telnet] DEBUG: Telnet console listening on 127.0.0.1:6023

  2. User-Agent:Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3

  3. 2017-04-16 00:07:40 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET http://www.jianshu.com/robots.txt> from <GET http://jianshu.com/robots.txt>

  4. User-Agent:Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/19.77.34.5 Safari/537.1

  5. 2017-04-16 00:07:41 [scrapy.core.engine] DEBUG: Crawled (200) <GET http://www.jianshu.com/robots.txt> (referer: None)

  6. User-Agent:Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24

  7. 2017-04-16 00:07:41 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (301) to <GET http://www.jianshu.com/> from <GET http://jianshu.com/>

  8. User-Agent:Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3


也可以把user_agent_list放到设置文件中去:

在rotate_useragent文件中加入一行代码

 

from randoms.settings import user_agent_list

运行效果如下:

完整的示例:http//download.youkuaiyun.com/detail/u011781521/9815390

<think>我们正在解决一个Scrapy框架中的导入错误问题:ModuleNotFoundError: No module named '爬虫scrapy框架1.spiders' 根据引用内容,我们可以总结出几种常见的解决方案: 1. 检查项目结构,确保导入路径正确。 2. 尝试使用相对导入或绝对导入的调整。 3. 检查爬虫名称和项目名称是否冲突(如果相同可能会出现问题)。 4. 在代码中动态添加路径(使用sys.path.append)以包含项目根目录。 5. 注意运行环境(命令行运行和IDE运行可能不同)。 具体到用户的问题,错误信息是:No module named '爬虫scrapy框架1.spiders' 这个错误通常发生在尝试导入模块时,Python解释找不到指定的模块。 在Scrapy项目中,标准的项目结构如下: project_name/ scrapy.cfg project_name/ __init__.py items.py middlewares.py pipelines.py settings.py spiders/ __init__.py spider1.py ... 用户错误中提到的模块是'爬虫scrapy框架1.spiders',这看起来像是项目名称(爬虫scrapy框架1)下的spiders模块。 可能的原因和解决方案: 1. 导入语句错误:在爬虫文件中,我们通常从项目名称的包中导入items等模块。例如,如果项目名为“myproject”,则导入语句应为: from myproject.items import MyItem 但是,如果项目名称中包含空格、中文字符或者数字开头,可能会导致问题(尽管Python允许Unicode标识符,但在导入时可能会遇到麻烦)。因此,建议项目名称使用英文和下划线,避免空格和特殊字符。 2. 项目结构不正确:确保项目目录结构正确,并且每个目录下都有__init__.py文件(即使是空文件)以使其成为包。 3. 运行路径问题:确保在项目根目录(有scrapy.cfg的目录)运行命令,或者设置PYTHONPATH。 4. 动态添加路径:在爬虫文件的开头,可以添加以下代码来将项目根目录添加到Python路径中(如引用[2]所述): import sys sys.path.append('项目根目录的绝对路径') 5. 使用相对导入:在spiders目录下的爬虫文件中,可以使用相对导入来导入项目中的其他模块。例如,如果要从同一项目下的items.py导入,可以: from ..items import MyItem 但是,注意相对导入在作为主模块运行时可能会出现问题(比如直接运行爬虫文件而不是通过scrapy命令)。因此,通常建议通过scrapy命令运行,或者使用绝对导入(即从项目包开始)。 6. 项目名称和爬虫名称冲突:如果项目名称和爬虫名称相同,可能会导致混淆。尝试修改其中一个。 根据引用[3]中的例子,他们原先使用绝对导入`from items import FirstspiderItem`,然后改为相对导入`from ..items import FirstspiderItem`解决了问题。 因此,针对用户的具体错误,我们可以这样解决: 假设用户的项目结构为: 爬虫scrapy框架1/ scrapy.cfg 爬虫scrapy框架1/ __init__.py items.py middlewares.py pipelines.py settings.py spiders/ __init__.py myspider.py (在这个文件中,用户可能尝试导入项目模块) 在myspider.py中,导入项目下的items应该使用: from 爬虫scrapy框架1.items import MyItem # 绝对导入 但是,由于项目名称包含中文字符和空格(注意:在Python中,包名是目录名,但导入时不能有空格,所以目录名应该是没有空格的?实际上,目录名可以有空格,但在导入时,空格会被视为非法字符,因为导入语句中不能有空格。所以,强烈建议项目目录名使用英文和下划线,不要用中文和空格!) 因此,根本的解决方法是:重新创建项目,使用英文和下划线命名项目目录(例如:spider_project1)。这样在导入时就不会有特殊字符的问题。 如果用户不想重命名项目,那么可以尝试以下方法: 方法1:使用相对导入(在spiders目录下的爬虫文件中) from ..items import MyItem 方法2:动态添加路径(在爬虫文件的开头): import sys from os.path import dirname, abspath # 获取当前文件所在目录的父目录(即项目目录)的绝对路径 project_path = dirname(dirname(abspath(__file__))) sys.path.append(project_path) # 然后尝试导入 from 爬虫scrapy框架1.items import MyItem 但是,由于项目目录名中有空格,在导入时,空格会被转义吗?实际上,目录名中的空格在导入时应该用下划线代替?不,导入的模块名就是目录名,而目录名如果有空格,那么导入时也必须用空格?这是不可能的,因为Python标识符不能有空格。所以,实际上,在创建项目时,Scrapy会生成一个目录,这个目录名就是我们创建项目时输入的名字。如果我们输入的名字包含空格,那么目录名就会包含空格,但是我们在导入时,应该使用这个目录名(包含空格)吗?实际上,Python不允许在标识符中使用空格,所以导入会失败。 因此,强烈建议:项目目录名不要使用空格和中文,使用英文和下划线。 如果用户已经创建了这样的项目,那么最好的办法是重命名项目目录(将空格去掉,或者用下划线代替,同时避免中文)。例如,将“爬虫scrapy框架1”重命名为“spider_project1”。 具体步骤: 1. 关闭所有与项目相关的文件。 2. 将项目根目录(包含scrapy.cfg的目录)重命名为一个没有空格和中文的目录名(例如:spider_project1)。 3. 进入项目目录,修改内部的包目录(即原来的“爬虫scrapy框架1”目录)重命名为同样的名字(例如:spider_project1)。 4. 修改scrapy.cfg文件,将[settings]部分中的项目名称改为新的包名: [settings] default = spider_project1.settings 5. 修改所有导入语句,使用新的包名。 如果用户不想重命名,那么可以尝试使用相对导入(方法1)或动态路径(方法2),但存在风险。 根据引用[2]中的经验,在item前面加'..'(即相对导入)解决了问题。所以,我们也可以尝试在爬虫文件中使用相对导入。 总结解决方案: 方案一(推荐):重命名项目,使用英文和下划线,避免空格和中文。 方案二:在爬虫文件中使用相对导入,例如: from ..items import MyItem 方案三:在爬虫文件中动态添加项目根目录到Python路径,然后使用绝对导入(但要注意项目目录名中的空格和中文可能会导致问题)。 由于用户的项目名中包含空格和中文,这本身就违反了Python的包命名规范(虽然文件系统允许,但Python标识符不允许有空格,且中文字符虽然允许,但可能带来兼容性问题),所以推荐方案一。 如果用户暂时不想重命名,我们可以尝试方案二。 具体操作步骤(方案二): 1. 打开爬虫文件(位于spiders目录下的.py文件)。 2. 修改导入语句,将原来的绝对导入改为相对导入。例如,如果原来是: from 爬虫scrapy框架1.items import MyItem 改为: from ..items import MyItem 但是,注意:如果项目名称中包含空格,即使使用相对导入,内部包名还是包含空格,这仍然可能导致问题。所以,相对导入只能解决路径问题,不能解决包名包含空格的问题。 因此,我们再次强调:重命名项目目录(包括内部包目录)为合法标识符(仅包含字母、数字和下划线,且不以数字开头)是根本的解决方法。 如果用户坚持使用原项目名,那么我们可以尝试在导入时使用转义?不,Python不支持。 所以,最终建议:重命名项目。 重命名步骤示例: 1. 将项目根目录(包含scrapy.cfg的目录)从“爬虫scrapy框架1”重命名为“spider_project1”。 2. 进入项目根目录,将内部包目录(也叫“爬虫scrapy框架1”)重命名为“spider_project1”。 3. 修改scrapy.cfg文件: [settings] default = spider_project1.settings 4. 修改爬虫文件中的导入语句,例如: from spider_project1.items import MyItem 5. 同时,修改settings.py、middlewares.py文件中可能存在的导入问题(如果它们之间有相互导入,也要相应修改)。 这样应该可以解决问题。 如果用户遇到其他问题,可以参考引用中的其他方法。 由于问题描述中没有给出具体的项目结构和代码,以上解决方案基于一般情况。</think>### Scrapy框架中解决`ModuleNotFoundError: No module named '爬虫scrapy框架1.spiders'`错误 #### 问题分析 该错误通常由以下原因导致: 1. **项目结构或导入路径错误**:Scrapy未正确识别项目目录结构。 2. **中文字符/空格问题**:项目名包含中文或空格导致Python导入失败(Python包名需遵循标识符规范)。 3. **运行环境问题**:命令行执行路径与IDE配置不一致。 --- #### 解决方案 ##### ✅ 方法1:重命名项目(推荐) **根本原因**:Python包名不支持中文或空格。`爬虫scrapy框架1`含中文字符,需重命名: ```bash # 进入项目根目录(含scrapy.cfg的目录) mv 爬虫scrapy框架1 spider_project # 重命名为英文 cd spider_project mv 爬虫scrapy框架1 spider_project # 重命名内部包目录 ``` 修改`scrapy.cfg`: ```ini [settings] default = spider_project.settings # 同步修改包名 ``` 更新导入语句(如`spiders/myspider.py`): ```python from spider_project.items import MyItem # 使用新包名 ``` ##### ✅ 方法2:动态添加项目路径 在爬虫文件顶部添加路径(临时方案): ```python import sys from pathlib import Path # 获取项目根目录 project_path = str(Path(__file__).parent.parent.parent) # 根据实际层级调整 sys.path.append(project_path) # 再尝试导入 from 爬虫scrapy框架1.items import MyItem # 需确保包名无空格 ``` ##### ✅ 方法3:使用相对导入 修改爬虫文件中的导入语句(适用于`spiders/`目录下的文件): ```python # 原绝对导入(易出错) # from 爬虫scrapy框架1.items import MyItem # 改为相对导入 from ..items import MyItem # ..表示上级目录 ``` ##### ✅ 方法4:检查爬虫启动位置 确保在**项目根目录**(含`scrapy.cfg`的目录)执行命令: ```bash # 正确位置 cd /path/to/project_root scrapy crawl myspider # 错误位置(如在spiders/目录内运行会报错) cd /path/to/project_root/爬虫scrapy框架1/spiders scrapy crawl myspider # 将触发ModuleNotFoundError ``` --- #### 预防措施 1. **项目命名规范**:使用英文、下划线命名(如`my_scrapy_project`)。 2. **统一运行环境**:在PyCharm中设置工作目录为项目根目录: `Run → Edit Configurations → Working Directory → 选择含scrapy.cfg的目录`。 3. **验证导入路径**:在Python Shell中测试导入: ```python import sys sys.path.append("/项目绝对路径") from 爬虫scrapy框架1.spiders import myspider # 测试是否成功 ``` --- #### 相关技术说明 - Scrapy通过项目结构自动注册模块,包名需符合Python标识符规则(仅字母、数字、下划线)[^1]。 - 相对导入(`from .. import module`)依赖包结构,需确保文件在正确层级[^2]。 - Windows路径需用原始字符串避免转义问题:`sys.path.append(r"C:\path")`[^2]。 > 若仍报错,请提供完整的项目结构树和错误堆栈,以便进一步诊断。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值