Python Forum
AttributeError: 'str' object has no attribute 'xpath'
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
AttributeError: 'str' object has no attribute 'xpath'
#1
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:

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
Reply


Messages In This Thread
AttributeError: 'str' object has no attribute 'xpath' - by nazmulfinance - Nov-10-2019, 09:13 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  How to fix "'dict_values' object has no attribute 'inject_wsgi'" in session_transacti devid 0 1,138 Aug-13-2023, 07:52 AM
Last Post: devid
  AttributeError: 'ellipsis' object has no attribute 'register_blueprint' Mechanicalpixelz 2 2,355 Dec-29-2021, 01:30 AM
Last Post: Mechanicalpixelz
  AttributeError: 'NoneType' object in a parser - stops it apollo 4 3,963 May-28-2021, 02:13 PM
Last Post: Daring_T
  AttributeError: ResultSet object has no attribute 'get_text' KatMac 1 4,336 May-07-2021, 05:32 PM
Last Post: snippsat
  Python 3.9 : BeautifulSoup: 'NoneType' object has no attribute 'text' fudgemasterultra 1 8,812 Mar-03-2021, 09:40 AM
Last Post: Larz60+
  'NavigableString' object has no attribute 'h2' RandomCoder 5 5,309 May-20-2020, 09:01 AM
Last Post: Larz60+
  need help with xpath pythonprogrammer 1 2,731 Jan-18-2020, 11:28 PM
Last Post: snippsat
  AttributeError: 'str' object has no attribute 'xpath' nazmulfinance 4 10,383 Nov-11-2019, 05:15 PM
Last Post: nazmulfinance
  form.populate_obj problem "object has no attribute translate" pascale 0 3,619 Jun-12-2019, 07:30 PM
Last Post: pascale
  Error object has no attribute text hcyeap 3 13,837 May-21-2019, 07:12 AM
Last Post: buran

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020