xpath создает пустые списки при разделении при использовании цикла for - PullRequest
0 голосов
/ 28 апреля 2020

Я пытался использовать xpaths для загрузки данных с веб-сайта, и у меня возникло поведение, которое я не могу понять логически. Первый - единственный вариант, который работает, а остальные продукты - пустые списки. Может кто-нибудь, пожалуйста, сообщите мне, что мне не хватает!?

def parse(self, response):
    for block in response.xpath("//a[@class='level clearfix']/@href").extract():
        print(block)
Output:

        /course/335725/comprehensive-german-duolingo-vocabulary/1/
        /course/335725/comprehensive-german-duolingo-vocabulary/2/
        /course/335725/comprehensive-german-duolingo-vocabulary/3/
        /course/335725/comprehensive-german-duolingo-vocabulary/4/
        /course/335725/comprehensive-german-duolingo-vocabulary/5/

Вывод: (для блоков кода ниже)

[]
[]
[]
[]
[]

def parse(self, response):
        for block in response.xpath("//a[@class='level clearfix']"):
            print(block.xpath("/@href").extract())

def parse(self, response):
    for block in response.xpath("//a[@class='level clearfix']"):
        print(block.xpath("href").extract())

РЕДАКТИРОВАТЬ: Каждый элемент, который я пытаюсь извлечь, имеет вид ниже, и я планирую присоединить href к базовому URL и использовать функцию обратного вызова для извлечения данных с этой страницы.

<a href="/course/335725/comprehensive-german-duolingo-vocabulary/1/" class="level clearfix">
    <div class="level-index">1</div>
    <div class="level-icon">                   
                <i class="level-ico level-ico-s  level-ico-plant-inactive"></i>
        <div class="level-status">
                Ready to learn
        </div>
    </div>
    <div class="level-title">
        Basics
    </div>
</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...