Я очень плохо знаком с Python. Я использую следующий код для извлечения деталей каждого продукта.
Я собираю названия продуктов с исходной страницы и, используя каждую ссылку на продукт, собираю информацию о цене, SKU и фреймах со связанных страниц. Однако я получаю ошибку атрибута для команды web-link. Одной из возможных проблем может быть то, что анализируемая ссылка включает в себя «https://www.glassesshop.com".
. Я думаю, что основная проблема заключается в href =" https://www.glassesshop.com/eyeglasses/fz1370".. Код работал бы, если бы ссылка была href = "/ eyeglasses / fz1370" * 1007. *
Error Report:
File "C:\Users\nazmu\projects\nextpage\nextpage\spiders\glass.py", line 14, in parse
link=name.xpath(".//@href").get()
AttributeError: у объекта 'str' нет атрибута 'xpath'
Код:
def parse(self, response):
names=response.xpath("//p[@class='pname col-sm-12']/a")
for name in names:
name=name.xpath(".//text()").get()
link=name.xpath(".//@href").get()
yield response.follow(url=link, callback=self.parse_glass, meta={'glass_name': name})
def parse_glass(self, response):
name=response.request.meta['glass_name']
price=response.xpath("//span[@class='product-price-original']/text()").get()
sku=response.xpath("//ul[@class='col-12 col-sm-6 default-content']/li[1]/text()").get()
frame=response.xpath("//a[@class='col01']/text()").get()
yield{
'glass_name': name,
'price': price,
'sku': sku,
'frame': frame
}
Я начал работать над Python на этой неделе. Я был бы очень признателен, если бы вы упомянули, какие конкретные изменения я должен внести в мои коды, чтобы исправить ошибку атрибута