Scrapy получить атрибут xPath с помощью getall () - PullRequest
0 голосов
/ 23 апреля 2020

Я использую Scrapy для получения списка идентификаторов (который позже будет использоваться в URL для очистки большего количества данных):

def parse(self, response):
    for a in response.xpath('//a[@class="imageLink"]').getall():  
        print(a)
        item = NgaItem1()
        item["itemId"] = a.attrib["assetid"]
        yield item

Я считаю, что правильно выбираю элементы DOM, поскольку print(a) возвращает следующее для каждого элемента, который меня интересует:

image

Все, что мне нужно от него - это сборка 148957. Я получаю ошибку 'str' object has no attribute 'attrib'.

1 Ответ

0 голосов
/ 26 апреля 2020

Это не идеальный ответ, но в итоге я использовал строковые манипуляции. Некоторые идентификаторы были 5 цифрами, а некоторые - 6, поэтому я немного очистил их в Excel.

def parse(self, response):
    for a in response.xpath('//a[@class="imageLink"]').getall():  
        start = a.find('assetid')
        item = NgaItem1()
        item["itemId"] = a[start+9:start+15]
        print(item["itemId"])
        yield item
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...