ivan-ver / parsing_sro

скапер членов сро с сайтов http://reestr.nopriz.ru/ и http://reestr.nostroy.ru
0 stars 2 forks source link

Error scrapy #1

Open leprick0n opened 3 years ago

leprick0n commented 3 years ago

Решил разобраться с scrapy но почему то не смог даже запустить ваш проект. During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\ProgramData\Anaconda3\Scripts\scrapy-script.py", line 10, in

sys.exit(execute())

File "C:\ProgramData\Anaconda3\lib\site-packages\scrapy\cmdline.py", line 145, in execute _run_print_help(parser, _run_command, cmd, args, opts) File "C:\ProgramData\Anaconda3\lib\site-packages\scrapy\cmdline.py", line 100, in _run_print_help func(*a, kw) File "C:\ProgramData\Anaconda3\lib\site-packages\scrapy\cmdline.py", line 153, in _run_command cmd.run(args, opts) File "C:\ProgramData\Anaconda3\lib\site-packages\scrapy\commands\crawl.py", li ne 22, in run crawl_defer = self.crawler_process.crawl(spname, opts.spargs) File "C:\ProgramData\Anaconda3\lib\site-packages\scrapy\crawler.py", line 191, in crawl crawler = self.create_crawler(crawler_or_spidercls) File "C:\ProgramData\Anaconda3\lib\site-packages\scrapy\crawler.py", line 224, in create_crawler return self._create_crawler(crawler_or_spidercls) File "C:\ProgramData\Anaconda3\lib\site-packages\scrapy\crawler.py", line 228, in _create_crawler spidercls = self.spider_loader.load(spidercls) File "C:\ProgramData\Anaconda3\lib\site-packages\scrapy\spiderloader.py", line 77, in load raise KeyError(f"Spider not found: {spider_name}")

ivan-ver commented 3 years ago

Добрый день! А как Вы запускали? Какую команду писали в КС?

leprick0n commented 3 years ago

Добрый день! А как Вы запускали? Какую команду писали в КС?

Scrapy crawl parsing_sro-master

ivan-ver commented 3 years ago

Команда для запуска: _scrapy crawl _ (https://docs.scrapy.org/en/latest/topics/commands.html?highlight=scrapy%20crawl#crawl). Необходимо запускать эту команду для каждого паука в отдельности (у меня их 4), зависит от того, какую конкретно информацию и с какого сайта Вы хотите получить . Имя паука указано в переменной name . Конкретно в моем случае имя паука и название файла совпадают (reestr_nopriz_ru.py, sro_reestr_nostroy_ru.py и т.д.).

leprick0n commented 3 years ago

Команда для запуска: _scrapy crawl _ (https://docs.scrapy.org/en/latest/topics/commands.html?highlight=scrapy%20crawl#crawl). Необходимо запускать эту команду для каждого паука в отдельности (у меня их 4), зависит от того, какую конкретно информацию и с какого сайта Вы хотите получить . Имя паука указано в переменной name . Конкретно в моем случае имя паука и название файла совпадают (reestr_nopriz_ru.py, sro_reestr_nostroy_ru.py и т.д.).

попробовал так как Вы написали все равно какие то ошибки

(base) C:\Users\user\parsing_sro-master>scrapy crawl reestr_noprizru 2021-03-19 08:44:44 [scrapy.utils.log] INFO: Scrapy 2.4.0 started (bot: Parsing SRO) 2021-03-19 08:44:44 [scrapy.utils.log] INFO: Versions: lxml 4.6.1.0, libxml2 2.9 .10, cssselect 1.1.0, parsel 1.5.2, w3lib 1.21.0, Twisted 20.3.0, Python 3.8.8 ( default, Feb 24 2021, 15:54:32) [MSC v.1928 64 bit (AMD64)], pyOpenSSL 19.1.0 (O penSSL 1.1.1j 16 Feb 2021), cryptography 3.1.1, Platform Windows-7-6.1.7601-SP1

2021-03-19 08:44:44 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.se lectreactor.SelectReactor 2021-03-19 08:44:44 [scrapy.crawler] INFO: Overridden settings: {'BOT_NAME': 'Parsing_SRO', 'CONCURRENT_REQUESTS_PER_DOMAIN': 10, 'CONCURRENT_REQUESTS_PER_IP': 10, 'DOWNLOAD_DELAY': 1, 'NEWSPIDER_MODULE': 'Parsing_SRO.spiders', 'SPIDER_MODULES': ['Parsing_SRO.spiders']} 2021-03-19 08:44:44 [scrapy.extensions.telnet] INFO: Telnet Password: d5897dbfaa 6792d6 2021-03-19 08:44:44 [scrapy.middleware] INFO: Enabled extensions: ['scrapy.extensions.corestats.CoreStats', 'scrapy.extensions.telnet.TelnetConsole', 'scrapy.extensions.logstats.LogStats'] db config error Unhandled error in Deferred: 2021-03-19 08:44:44 [twisted] CRITICAL: Unhandled error in Deferred:

Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\site-packages\scrapy\crawler.py", line 192, in crawl return self._crawl(crawler, *args, kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\scrapy\crawler.py", line 196, in _crawl d = crawler.crawl(*args, *kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\twisted\internet\defer.py", l ine 1613, in unwindGenerator return _cancellableInlineCallbacks(gen) File "C:\ProgramData\Anaconda3\lib\site-packages\twisted\internet\defer.py", l ine 1529, in _cancellableInlineCallbacks _inlineCallbacks(None, g, status) --- --- File "C:\ProgramData\Anaconda3\lib\site-packages\twisted\internet\defer.py", l ine 1418, in _inlineCallbacks result = g.send(result) File "C:\ProgramData\Anaconda3\lib\site-packages\scrapy\crawler.py", line 86, in crawl self.spider = self._create_spider(args, kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\scrapy\crawler.py", line 98, in _create_spider return self.spidercls.from_crawler(self, *args, *kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\scrapy\spiders__init__.py", line 50, in from_crawler spider = cls(args, **kwargs) File "C:\Users\user\parsing_sro-master\Parsing_SRO\spiders\reestr_nopriz_ru.py ", line 31, in init with Database() as db: File "C:\Users\user\parsing_sro-master\ParsingSRO\utils\db_company.py", line 15, in enter self.connect() File "C:\Users\user\parsing_sro-master\ParsingSRO\utils\db_company.py", line 32, in connect self._connection = self._get_conn() File "C:\Users\user\parsing_sro-master\ParsingSRO\utils\db_company.py", line 26, in _get_conn exit(1) File "C:\ProgramData\Anaconda3\lib_sitebuiltins.py", line 26, in call raise SystemExit(code) builtins.SystemExit: 1

2021-03-19 08:44:44 [twisted] CRITICAL: Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\site-packages\twisted\internet\defer.py", l ine 1418, in _inlineCallbacks result = g.send(result) File "C:\ProgramData\Anaconda3\lib\site-packages\scrapy\crawler.py", line 86, in crawl self.spider = self._create_spider(*args, kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\scrapy\crawler.py", line 98, in _create_spider return self.spidercls.from_crawler(self, *args, *kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\scrapy\spiders__init__.py", line 50, in from_crawler spider = cls(args, kwargs) File "C:\Users\user\parsing_sro-master\Parsing_SRO\spiders\reestr_nopriz_ru.py ", line 31, in init with Database() as db: File "C:\Users\user\parsing_sro-master\ParsingSRO\utils\db_company.py", line 15, in enter self.connect() File "C:\Users\user\parsing_sro-master\ParsingSRO\utils\db_company.py", line 32, in connect self._connection = self._get_conn() File "C:\Users\user\parsing_sro-master\ParsingSRO\utils\db_company.py", line 26, in _get_conn exit(1) File "C:\ProgramData\Anaconda3\lib_sitebuiltins.py", line 26, in call raise SystemExit(code) SystemExit: 1

ivan-ver commented 3 years ago

Добрый день! Судя по логам, проблема в Базе данных - не может создать подключение, т.к. нет конфиг.-файла. Если Вы хотите записывать результаты именно в БД, вам нужно добавить файл (путь: "_config/srodb.cfg") с конфигурацией Вашей БД (url, login, password). Если хотите запустить пауков для вывода информации в консоль или записи в текстовый документ, то просто в файле pipelines.py удалите/закоментируйте все строки, связанные с БД (7, 19, 20 , 23-27). Вывод в консоль или запись в файл реализуйте в методе _processitem

leprick0n commented 3 years ago

Добрый день! Судя по логам, проблема в Базе данных - не может создать подключение, т.к. нет конфиг.-файла. Если Вы хотите записывать результаты именно в БД, вам нужно добавить файл (путь: "_config/srodb.cfg") с конфигурацией Вашей БД (url, login, password). Если хотите запустить пауков для вывода информации в консоль или записи в текстовый документ, то просто в файле pipelines.py удалите/закоментируйте все строки, связанные с БД (7, 19, 20 , 23-27). Вывод в консоль или запись в файл реализуйте в методе _processitem

Спасибо попробую разобраться

leprick0n commented 3 years ago

Добрый день! Судя по логам, проблема в Базе данных - не может создать подключение, т.к. нет конфиг.-файла. Если Вы хотите записывать результаты именно в БД, вам нужно добавить файл (путь: "_config/srodb.cfg") с конфигурацией Вашей БД (url, login, password). Если хотите запустить пауков для вывода информации в консоль или записи в текстовый документ, то просто в файле pipelines.py удалите/закоментируйте все строки, связанные с БД (7, 19, 20 , 23-27). Вывод в консоль или запись в файл реализуйте в методе _processitem

а как должен выглядеть конфиг для БД?