Я пытался всеми возможными способами, читая на всех языках, чтобы исправить ошибку, и я ничего не нашел. Я делаю веб-скребок, который использует 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)