2016-03-09 2 views
1

как для извлечения URL изображения с веб-сайта с помощью Scrapy в python.please помощи me.this мой кодScrapy извлечь URL изображения

from scrapy.spiders import CrawlSpider, Rule 
#from scrapy.linkextractors.lxmlhtml import LxmlLinkExtractor 
from scrapy.contrib.linkextractors import LinkExtractor 
from scrapy.item import Item, Field 

class MyItem(Item): 
    url= Field() 


class someSpider(CrawlSpider): 
    name = 'crawltest' 
    allowed_domains = ['bambeeq.com'] 
    start_urls = ['http://www.bambeeq.com/'] 
    rules = (Rule(LinkExtractor(allow=()), callback='parse_obj', follow=True),) 

    def parse_obj(self,response): 
     item = MyItem() 
     item['url'] = [] 
     for link in LinkExtractor(allow=(),deny = self.allowed_domains).extract_links(response): 
      item['url'].append(link.url) 
      #item['image'].append(link.img) 
     return item 
+0

Вопросы, ищущих отладки помощи (** «почему не этот код работает?» **) должны включать в себя желаемое поведение, * конкретную проблему или ошибку * и * самый короткий код, необходимый для * воспроизведите его ** в самом вопросе **. Вопросы без ** ясного заявления о проблеме ** не полезны для других читателей. См. [Как создать минимальный, завершенный и проверяемый пример] (http://stackoverflow.com/help/mcve). – MattDMo

ответ

2

Вы извлекаете ссылки («элемента»), а не изображения (элемент «img»). Попробуйте это:

# iterate over the list of images 
for image in response.xpath('//img/@src').extract(): 
    # make each one into a full URL and add to item[] 
    item['url'].append(response.urljoin(image)) 

yield item 
Смежные вопросы