Я пытался использовать 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>