Nov-10-2019, 09:13 PM
(This post was last modified: Nov-10-2019, 09:13 PM by nazmulfinance.)
Dear Members,
I am sorry for the repeated post. I posted on the wrong sub-forum and then realized that this sub-forum is the right one for me. I am sorry for the inconvenience.
I am very new to python. I am using the following code to extract the details of each product.
I am collecting product names from the original page and using each product link, I am collecting price, SKU, and frame information from the linked pages. However, I am getting an attribute error for the web-link command. One possible problem could be that the parsed link includes "https://www.glassesshop.com".
I think the main problem is href="https://www.glassesshop.com/eyeglasses/fz1370". The code would work if the link were href="/eyeglasses/fz1370"
Full python code:
I am sorry for the repeated post. I posted on the wrong sub-forum and then realized that this sub-forum is the right one for me. I am sorry for the inconvenience.
I am very new to python. I am using the following code to extract the details of each product.
I am collecting product names from the original page and using each product link, I am collecting price, SKU, and frame information from the linked pages. However, I am getting an attribute error for the web-link command. One possible problem could be that the parsed link includes "https://www.glassesshop.com".
I think the main problem is href="https://www.glassesshop.com/eyeglasses/fz1370". The code would work if the link were href="/eyeglasses/fz1370"
Full python code:
import scrapy class GlassSpider(scrapy.Spider): name = 'glass' allowed_domains = ['www.glassesshop.com'] start_urls = ['https://www.glassesshop.com/bestsellers/'] 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 }I started working on python this week. I would highly appreciate if you can mention what specific change I should make to my codes to correct the attribute error