AttributeError: у объекта 'Пространство имен' нет атрибута - PullRequest
0 голосов
/ 08 апреля 2020

Я пытался всеми возможными способами, читая на всех языках, чтобы исправить ошибку, и я ничего не нашел. Я делаю веб-скребок, который использует 3 файла ниже, но когда я его запускаю, я получаю эту ошибку в cmd (я использую python 3.7 для реализации его с помощью anaconda) :

Traceback (most recent call last):
  File "main.py", line 23, in <module>
    _news_scraper(args.news_site)
AttributeError: 'Namespace' object has no attribute 'news_site' 

3 файла кода:

config.yaml:

news_sites:
  eluniversal:
    url: https://www.eluniversal.com
  elespectador:
    url: https://www.elespectador.com

общие .py:

import yaml

__config = None

def config():
    global __config
    if not __config:
        with open('config.yaml', mode = 'r') as f:
            __config = yaml.load(f, Loader = yaml.FullLoader)
    return __config

main.py:

import argparse
import logging
logging.basicConfig(level=logging.INFO)

from common import config

logger = logging.getLogger(__name__)

def _news_scraper(news_site_uid):
    host = config() ['news_sites'] [news_site_uid] ['url']

    logging.info('Beginning scraper for {}'.format(host))

if __name__=='__main__':
    parser = argparse.ArgumentParser()

    news_site_choices = list(config()['news_sites'].keys())
    parser.add_argument('news_site ',
                        help = 'The news site that you want to scrape',
                        type = str,
                        choices = news_site_choices)
    args = parser.parse_args()
    _news_scraper(args.news_site)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...