问题
I'm trying a example that use scrapy to download images form a web pages.
This is the spider file:
from scrapy import Spider, Item, Field, Request
from items import TrousersItem
class TrouserScraper(Spider):
name, start_urls = "Trousers_spider", ["http://lookatmyfuckingredtrousers.blogspot.co.uk"]
def parse(self, response):
for image in response.selector.xpath('//*[contains(@class, "entry-content")]/div[contains(@class, "separator")]/a/img/@src'):
yield TrousersItem(image_urls=[image.extract()])
for url in response.selector.xpath("//*[contains(@class, 'blog-pager-older-link')]/@href"):
yield Request(url.extract(), callback=self.parse)
And the items.py:
import scrapy
from scrapy.item import Item
class TrousersItem(scrapy.Item):
image_urls = scrapy.Field()
images = scrapy.Field()
When I type
scrapy crawl Trousers_spider
I get this error:
No module named items
回答1:
You need to import items from your project package:
from yourproject.items import TrousersItem
Assuming regular Scrapy project structure.
来源:https://stackoverflow.com/questions/34804222/scrapy-no-module-named-items-scraping-images