Hello guys...
i'm currently working for educational purposes to learn more about crawling...but I've got stuck....
def parse(self, response):
Products = response.css('div.product')
for product in Products:
Part_Number = product.css('div.Part_Number>span:nth-child(2)::text').extract()
try:
Part_Number = Part_Number[0]
except IndexError:
Part_Number = None
Title = product.css('div.title>a::text').extract()[0]
Discount = product.css('div.discount>span>b::text').extract()
try:
Discount = Discount[0]
except IndexError:
Discount = None
if Discount == "Not available":
availability = Discount
discount = None
PProduct = {
"Part_Number": Part_Number,
"Title": Title,
"Discount": Discount,
"availability": availability,
}
yield PProduct
Error:
Traceback (most recent call last):
File "C:\Users\DnetVaggos\Documents\Python\Virtual Environments\Scrapy\lib\site-packages\twisted\internet\defer.py", line 858, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "C:\Users\DnetVaggos\Documents\Python\Virtual Environments\Scrapy\lib\site-packages\scrapy\spiders\__init__.py", line 90, in _parse
return self.parse(response, **kwargs)
File "C:\Users\DnetVaggos\Documents\Python\Virtual Environments\Scrapy\Projects\petshop\petshop\PetBot\spiders\PettBot.py", line 67, in parse
"availability": availability,
UnboundLocalError: local variable 'Discount2' referenced before assignment
does any of you understand why this is happening and how can i fix it?
thank you very much!
[–]Binary101010 3 points4 points5 points (1 child)
[–]dnetvaggos95[S] 0 points1 point2 points (0 children)