0
我遵循本文檔使用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而不必創建一個項目。
還遇到「scrapy runspider test.py」,但它不起作用。錯誤:找不到MySpider。
如果你想從單個腳本運行你的蜘蛛,請嘗試以下代碼片段:[獨立腳本來抓取一個網站](http://snippets.scrapy.org/snippets/7/) – reclosedev 2012-02-20 18:28:44
@SjaakTrekhaak,我測試過'Scrapy 0.14.1'上的代碼片段,它工作正常。 – reclosedev 2012-02-21 14:15:57
@reclosedev你是對的。我在使用子進程而不是主進程時遇到了問題(信號只能在主線程中使用);並在這個問題上感到困惑。 – 2012-02-21 15:56:44