Я следую этим документам для загрузки изображений с помощью scrapy. http://doc.scrapy.org/en/latest/topics/images.htmlscrapy imagepipline: простой пример, который является командой для запуска/тестирования
В частности, я бы этот test.py:
from scrapy.contrib.pipeline.images import ImagesPipeline
from scrapy.exceptions import DropItem
from scrapy.http import Request
from My.items import ImageItem
item = ImageItem()
item['image_urls'] = ['http://url/123.jpg']
class MySpider(ImagesPipeline):
def get_media_requests(self, item, info):
for image_url in item['image_urls']:
yield Request(image_url)
def item_completed(self, results, item, info):
image_paths = [x['path'] for ok, x in results if ok]
if not image_paths:
raise DropItem("Item contains no images")
item['image_paths'] = image_paths
return item
Мой вопрос: что такое командная строка, я должен работать, чтобы проверить эту test.py, чтобы проверить, если изображения будут загружены.
Дополнительная информация: Я знаю команду «scrapy crawl project_name», но я предпочитаю протестировать этот test.py, не создавая проект.
Также наберитесь «scrap runpider test.py», но это не сработает. Ошибка: MySpider не найден.
Если вы хотите запустить своего паука из одного скрипта, попробуйте этот фрагмент: [Автономный скрипт для обхода сайта] (http://snippets.scrapy.org/snippets/7/) – reclosedev
@SjaakTrekhaak, I ' вы тестировали этот фрагмент на 'Scrapy 0.14.1', он работает. – reclosedev
@reclosedev вы правы. У меня возникли проблемы с использованием этого в дочернем процессе вместо основного процесса (сигналы могут использоваться только в основном потоке); и путают это в этом вопросе. –