How is it possible to sort / reorder a text string and reformat it as follows?
My code:
details = response.xpath('//div[@]')
for detail in details:
released = detail.xpath('.//ul/li[1]/span[1]/span/text()').get()
item['released'] = released
yield item
My output:
Released 2021, September 24
Desired output:
- September, 2021
or
24.09.2021
CodePudding user response:
It has nothing to do with scrapy, as this is a simple string parsing problem.
For example, you might want to try this, provided that released is a string value like Released 2021, September 24:
import datetime
released = "Released 2021, September 24".replace("Released ", "")
print(datetime.datetime.strptime(released, '%Y, %B %d').strftime("%d.%m.%Y"))
Output:
24.09.2021
To get the longer output:
print(datetime.datetime.strptime(released, '%Y, %B %d').strftime("%d. %B, %Y"))
Output:
24. September, 2021
EDIT:
In order to apply it in your code, try this:
details = response.xpath('//div[@]')
for detail in details:
released = detail.xpath('.//ul/li[1]/span[1]/span/text()').get()
item['released'] = datetime.datetime.strptime(released.replace("Released ", ""), '%Y, %B %d').strftime("%d.%m.%Y")
yield item
