Scrapy не получает значения с веб-сайта

Я написал отрывочные коды раньше, и это работает, как ожидалось, но почему-то в этом конкретном 1 моя логика не работает, пожалуйста, помогите мне:

Мой items.py:

import scrapy

class KohlItem(scrapy.Item):
    images=scrapy.Field()
    links=scrapy.Field()
    name=scrapy.Field()
    title=scrapy.Field()

Мой first.py:

import scrapy
from scrapy.spiders import CrawlSpider,Rule
from scrapy.linkextractors import LinkExtractor

from scrapy.loader import ItemLoader
from kohl.items import KohlItem


class FirstSpider(scrapy.Spider):
    name = "first"
    allowed_domains = ["kohls.com"]
    start_urls = [    
        "http://www.kohls.com/catalog/mens-t-shirts-tops-tees-tops-clothing.jsp?CN=Gender:Mens+Silhouette:T-Shirts+Product:Tops%20%26%20Tees+Category:Tops+Department:Clothing&cc=mens-TN3.0-S-tshirts",
        "http://www.kohls.com/catalog/mens-t-shirts-tops-tees-tops-clothing.jsp?CN=Gender:Mens+Silhouette:T-Shirts+Product:Tops%20%26%20Tees+Category:Tops+Department:Clothing&cc=mens-TN3.0-S-tshirts&PPP=60&WS=240"]


    def parse(self, response):
        #print response.url

        kk=ItemLoader(item=KohlItem(),response=response)
        kk.add_xpath('title','//title/text()')
        kk.add_value('links',response.url)
        kk.add_xpath('images','//*[@class="pmp-hero-img"]/@src')
        print 'images ******************'
        kk.add_xpath('name','//*[@class="prod_nameBlock"]/p/text()')
        print '******************'
        return kk.load_item()

Выходные данные дают мне заголовок, как ожидалось, но значения rest не приходят.

выше используемые xpaths прекрасно работают в консоли браузера и дают мне выходы, как и ожидалось.

1 ответ

  1. Первое, что я хотел бы проверить, если страница отображается с помощью javascript или нет. Если это так, то webdriver поможет.