TL; DR теперь работает;размещение в интересах других, у которых может быть эта проблема.Приветствую!
при работе с Python 3.6.5 64-bit с использованием conda установлен scrapy 1.6.0 и распознается Visual Studio. Скопируйте и вставьте код документации
import scrapy
class QuotesSpider(scrapy.Spider):
name = "quotes"
def start_requests(self):
urls = [
'http://quotes.toscrape.com/page/1/',
'http://quotes.toscrape.com/page/2/',
]
for url in urls:
yield scrapy.Request(url=url, callback=self.parse)
def parse(self, response):
page = response.url.split("/")[-2]
filename = 'quotes-%s.html' % page
with open(filename, 'wb') as f:
f.write(response.body)
self.log('Saved file %s' % filename)
попытайтесь запустить из powershell
scrapy crawl quotes
, который возвращает
Scrapy 1.6.0 - no active project
Unknown command: crawl
, посмотрел: https://github.com/scrapy/scrapy/issues/3344
- и увидел, что вероятная проблема в том, что я не на правильном уровне файлаОднако я нахожусь в каталоге, в котором находится мой проект, а PowerShell в Visual Studio распознает scrapy.
- Поскольку я в Visual Studio, то получаю scrapy.cfg, немного запутанный, и когда я туда перешел, это показалось мне очень страннымошибки и не распознает scrapy.
- все соответствующие подкаталоги в этом каталоге распознают scrapy, но не сканируют scrapy.
- В посте также упоминается, что я должен быть в директории проекта - я не уверен, что этозначит, так как я относительно новичок в программировании - я полагаю, что это относится к директории моего файла spider.py ...
- Также scrapy.cfg содержит только значения по умолчанию
при копировании и вставке в извилистый каталог пауков в каталоге ..conda \ pkgs \ scrapy-1.6.0-py36_0 \ Lib \ site-packages \ scrapy \ spiders
- возникает та же проблема, как и выполнение команды из всех каталогов более высокого уровня
- , также копирование вставки scrapy в файл паука приводит к серьезным ошибкам
update: running
scrapy startproject <folder containing spider>
позволяет мне запускать сканирование scrapy ... но приводит к совершенно новому беспорядку ошибок для цитат обхода scrapy ->
scrapy list
возвращает ноль / нет используемых пауков
Выполнение
scrapy genspider <dummy> <new dir>
создало необходимые файлы для запуска запущенных пауков -> Я скопировал и вставил свой паук цитат в эту папку и запустил
scrapy list
(это распознало оператор печати, который я имел приконец паука цитаты как новый паук, и теперь я не могу избавиться от него ...?ок ig)
прохождение цитат из ползунков ... ааааа большие и страшные ошибки.Отлично.
поиск последней строки в этой ошибке приводит меня к ImportError: Ни один модуль с именем win32api при использовании Scrapy не рекомендует использовать
pip install pypiwin32
после этого мы запускаем scrapyсканировать кавычки и вуаля, мы получаем длинный страшный ответ в терминале, но это рабочий скрипт с большим количеством выходных данных.файлы, которые, как говорится в учебнике, должны быть там, и при запуске выдают правильный результат.(отсутствует форматирование, но содержание правильное)
Я считаю, что мой вопрос решен, и я опубликую его для всех, у кого эта проблема возникнет в будущем.
Это отличается от вопросаупоминается, потому что этот вопрос включает в себя их ответ, а также то, как я дошел до этой точки от сканирования не распознан