2016-11-22 5 views
-5

Основной URL = [https://www.amazon.in/s/ref=nb_sb_ss_i_1_8?url=search-alias%3Dcomputers&field-keywords=lenovo+laptop&sprefix=lenovo+m%2Cundefined%2C2740&crid=3L1Q2LMCKALCT]Как сканировать URL-адрес URL-адреса в scrapy?

экстрагируют URL из главного URL = [http://www.amazon.in/Lenovo-Ideapad-15-6-inch-Integrated-Graphics/dp/B01EN6RA7W?ie=UTF8&keywords=lenovo%20laptop&qid=1479811190&ref_=sr_1_1&s=computers&sr=1-1]

import scrapy 
from product.items import ProductItem 
from scrapy.linkextractors import LinkExtractor 
from scrapy.spiders import CrawlSpider, Rule 

class amazonSpider(scrapy.Spider): 
    name = "amazon" 
    allowed_domains = ["amazon.in"] 
    start_urls = [ main url here] 
    def parse(self, response): 
     item=ProductItem() 
     for content in response.xpath("sample xpath"): 
      url = content.xpath("a/@href").extract() 
      request = scrapy.Request(str(url[0]),callback=self.page2_parse) 
     #url is extracted from my main url 
      item['product_Rating'] = request 
     yield item 
    def page2_parse(self,response): 
    #here i dint get the response for the second url content 
     for content in response.xpath(sample xpath): 
      yield content.xpath(sample xpath).extract() 

Вторая функция не исполняющей здесь. Пожалуйста, помогите мне.

+0

Здесь Page2_pase не выборка второго URL и я не могу ползти дальше –

+0

Там не совсем «выскабливание URL в URL-адрес»; ваш второй URL очищается с той же философией, что и первая. – blacksite

+0

Привет, я получил второй URL-адрес после ползания первого URL-адреса. Например, в моем основном URL-адресе мы видим несколько продуктов [ноутбуков]. Поэтому, после сканирования основного URL-адреса, я получаю URL-адрес страницы с подробными сведениями о каждом продукте. –

ответ

0

Наконец-то я сделал это, пожалуйста, следуйте нижеприведенному коду для реализации значений обхода формы URL-адреса URL-адреса.

def parse(self, response): 
    item=ProductItem() 
    url_list = [content for content in response.xpath("//div[@class='listing']/div/a/@href").extract()] 
    item['product_DetailUrl'] = url_list 
    for url in url_list: 
     request = Request(str(url),callback=self.page2_parse) 
     request.meta['item'] = item 
     yield request 

def page2_parse(self,response): 
    item=ProductItem() 
    item = response.meta['item'] 
    item['product_ColorAvailability'] = [content for content in response.xpath("//div[@id='templateOption']//ul/li//img/@color").extract()] 
    yield item