Скребковый стол не дает результатов - PullRequest
0 голосов
/ 07 января 2019

Я думал, что теперь у меня есть приличное понимание, но я снова столкнулся с проблемой.

Я не получаю никаких результатов, как это, но если я переместу урожай на одну вкладку назад, я получу первые два подозреваемых элемента.

Вот небольшой фрагмент журнала:

2019-01-07 20:00:16 [scrapy.extensions.logstats] INFO: Crawled 1 pages (at 1 
pages/min), scraped 0 items (at 0 items/min)
2019-01-07 20:00:16 [scrapy.core.engine] DEBUG: Crawled (200) <GET 
https://www.mysite.no.html?dest_id=-263870;checkin=2019-02-01;checkout=2019- 
02-02;group_adults=1 via http://localhost:8050/render.html> (referer: None)

Вот функция:

    def parse(self, response):  
    item = klekkenItem()
    item['skaptdato'] = datetime.datetime.now()
    url_en = response.url # Henter urlen
    resultat = urlparse(url_en).query.split('=')[-3]  # Plukker ut deler av urlen
    nytt_resultat = resultat.split(';',1)[0] # plukker ut første del av resultatet
    fradatoen = ''.join(nytt_resultat) # gjør om datoen til en streng
    item['fradato'] = datetime.datetime.strptime(fradatoen, '%Y-%m-%d') # Konverterer til datoformat                
    tabellen = response.css('td.hprt-table-cell-roomtype')      
    for room in tabellen:
        romnavnet = room.css('span.hprt-roomtype-icon-link::text').get()    
        item['romnavn'] = romnavnet.strip() 
        yield item

А вот ссылка на [страницу] [1]

Кстати: я четыре раза проверял вкладки (пять раз) ...

Что мне не хватает? Кто-нибудь? Я уверен, что это слепое пятно.

Ответы [ 2 ]

0 голосов
/ 07 января 2019

попробуйте использовать генератор:

def parse(self, response):
    pass # your implementation


res = self.parse(some_response)  # it's a generator, lazy..
for i in res:
   print(i) # should consume the generator and print
0 голосов
/ 07 января 2019
tabellen = response.css('td.hprt-table-cell-roomtype')
romnavnet = room.css('span.hprt-roomtype-icon-link::text').extract()    #use extract function or `extract_first()`

Этот дает вам 4 строки, в то время как первая является избыточной, а остальные три содержат данные.

Вам не нужно использовать заставку, чтобы получить эти данные. он статически доступен на веб-странице.

...