Не удается извлечь ссылку на страницу с помощью scrapy

Я хочу определить «ссылку на следующую страницу» с помощью многостраничного веб-сайта и для него. У меня такое чувство, что я не могу сделать это обычным способом, так как href-контент пуст (href=""). Посмотреть здесь:

<div class="publicusers-page-navigation page-navigation">
<a href="" class="current" data-page-index="1">1</a>
<a href="" data-page-index="2">2</a><a href="" data-page-index="3">3</a>
<i>...</i>
<a href="" data-page-index="330">330</a>
<a href="" class="pagination-next" data-page-index="2">►</a>
</div>

Я пробовал response.css('div.page-navigation > a::attr(href)').extract_first()

но это не работает.

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


person Jonas    schedule 02.10.2018    source источник
comment
Атрибут href этого узла <a> пуст. Это означает, что нумерация страниц, скорее всего, сгенерирована javascript. Не могли бы вы опубликовать веб-сайт, который вы сканируете?   -  person Granitosaurus    schedule 03.10.2018
comment
vdma.org/mitglieder   -  person Jonas    schedule 03.10.2018


Ответы (1)


Вы можете просто сгенерировать URL-адреса, а затем проанализировать.

page = 0
for i in range(330):
    page+=1
    url = ('https://www.vdma.org/mitglieder'
        '?p_p_lifecycle=2&p_p_resource_id=getPage&p_p_id'
        '=vdma2publicusers_WAR_vdma2publicusers&s=&page='+str(page))
    print(url)
person Sohan Das    schedule 03.10.2018
comment
Большое спасибо! Как можно их сгенерировать? Откуда у вас этот URL? - person Jonas; 05.10.2018
comment
Осмотрите элемент и проверьте сеть на POST и GET - person Sohan Das; 05.10.2018