Scrapy: AttributeError: объект «список» не имеет атрибута «xpath» ⇐ Python
Scrapy: AttributeError: объект «список» не имеет атрибута «xpath»
Я новичок в Scrapy. Я пытаюсь просмотреть объявления, но получаю эту ошибку.
Я не знаю, что не так в моем коде.
Вот что я сделал:
класс ScrapAiaSpider(scrapy.Spider): name = 'scrap_aia' разрешенные_домены = ['aia-immobilier.fr'] start_urls = ['http://aia-immobilier.fr/fr/ventes'] def parse(self, ответ): объявления = response.xpath('//li[@class="property Initial"]').getall(), для рекламы в объявлениях: урожай { 'тип': ad.xpath('./div[@class="titles"]/h2/text()').get(), 'цена': ad.xpath('./li[@class="price"]/div/text()').get(), 'комната': ad.xpath('./li[@class="room"]/div/text()').get(), 'область': ad.xpath('./li[@class="area"]/div/text()').get() } Когда я запускаю этот код, я получаю сообщение об ошибке, объясняющее, что список не имеет атрибута Xpath. Поэтому я не понимаю, как можно выполнить итерацию и получить некоторые элементы для каждого объявления в списке.
Traceback (самый последний вызов — последний): Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\utils\defer.py», строка 132, в iter_errback дать следующий(оно) Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\utils\python.py», строка 354, в __next__ вернуть следующий (self.data) Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\utils\python.py», строка 354, в __next__ вернуть следующий (self.data) Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\core\spidermw.py», строка 66, в _evaluate_iterable для r в итерации: Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\spidermiddlewares\offsite.py», строка 29, в файлеprocess_spider_output для x в результате: Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\core\spidermw.py», строка 66, в _evaluate_iterable для r в итерации: Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\spidermiddlewares\referer.py», строка 342, в return (_set_referer(r) для r в результате или ()) Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\core\spidermw.py», строка 66, в _evaluate_iterable для r в итерации: Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\spidermiddlewares\urllength.py», строка 40, в return (r для r в результате или (), если _filter(r)) Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\core\spidermw.py», строка 66, в _evaluate_iterable для r в итерации: Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\spidermiddlewares\глубина.py», строка 58, в return (r для r в результате или (), если _filter(r)) Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\core\spidermw.py», строка 66, в _evaluate_iterable для r в итерации: Файл "C:\Users\kgonc\Desktop\Projets\scrap_immo\aia-immobilier.fr\scrap_immo\spiders\scrap_aia.py", строка 18, в анализе 'тип': ad.xpath('./div[@class="titles"]/h2/text()').get(), AttributeError: объект «список» не имеет атрибута «xpath».
Я новичок в Scrapy. Я пытаюсь просмотреть объявления, но получаю эту ошибку.
Я не знаю, что не так в моем коде.
Вот что я сделал:
класс ScrapAiaSpider(scrapy.Spider): name = 'scrap_aia' разрешенные_домены = ['aia-immobilier.fr'] start_urls = ['http://aia-immobilier.fr/fr/ventes'] def parse(self, ответ): объявления = response.xpath('//li[@class="property Initial"]').getall(), для рекламы в объявлениях: урожай { 'тип': ad.xpath('./div[@class="titles"]/h2/text()').get(), 'цена': ad.xpath('./li[@class="price"]/div/text()').get(), 'комната': ad.xpath('./li[@class="room"]/div/text()').get(), 'область': ad.xpath('./li[@class="area"]/div/text()').get() } Когда я запускаю этот код, я получаю сообщение об ошибке, объясняющее, что список не имеет атрибута Xpath. Поэтому я не понимаю, как можно выполнить итерацию и получить некоторые элементы для каждого объявления в списке.
Traceback (самый последний вызов — последний): Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\utils\defer.py», строка 132, в iter_errback дать следующий(оно) Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\utils\python.py», строка 354, в __next__ вернуть следующий (self.data) Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\utils\python.py», строка 354, в __next__ вернуть следующий (self.data) Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\core\spidermw.py», строка 66, в _evaluate_iterable для r в итерации: Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\spidermiddlewares\offsite.py», строка 29, в файлеprocess_spider_output для x в результате: Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\core\spidermw.py», строка 66, в _evaluate_iterable для r в итерации: Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\spidermiddlewares\referer.py», строка 342, в return (_set_referer(r) для r в результате или ()) Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\core\spidermw.py», строка 66, в _evaluate_iterable для r в итерации: Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\spidermiddlewares\urllength.py», строка 40, в return (r для r в результате или (), если _filter(r)) Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\core\spidermw.py», строка 66, в _evaluate_iterable для r в итерации: Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\spidermiddlewares\глубина.py», строка 58, в return (r для r в результате или (), если _filter(r)) Файл «C:\Users\kgonc\anaconda3\envs\scraping\lib\site-packages\scrapy\core\spidermw.py», строка 66, в _evaluate_iterable для r в итерации: Файл "C:\Users\kgonc\Desktop\Projets\scrap_immo\aia-immobilier.fr\scrap_immo\spiders\scrap_aia.py", строка 18, в анализе 'тип': ad.xpath('./div[@class="titles"]/h2/text()').get(), AttributeError: объект «список» не имеет атрибута «xpath».
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение