I need to extract information from this website https://www.fake-plants.co.uk/. I am going to obtain information about the types of artificial plants and their characteristics.

For this we are going to use Scrapy. Here you can find more info about Scrapy

You can see how all the plants are labeled under the product-category
list, where we can extract the web address that takes us to the next page where we can see how many varieties there are of a particular plant. We extract each http address with response.css('li.product-category a::attr(href)')
If we enter a link, for example the Yucca. We observe that in the division `astra-shop-summary-wrap we find the properties of each type of Yucca. We build the algorithm to enter this web address and give us the name and category of each plant.

Finally, we save the name and category information in a .csv file.
Our final spyder looks like:
import scrapy class PlantsukSpider(scrapy.Spider): name = 'plantsUk' allowed_domains = ['fake-plants.co.uk'] start_urls = ['http://fake-plants.co.uk/'] def parse(self, response): for link in response.css('li.product-category a::attr(href)'): yield response.follow(link.get(), callback = self.parse_categories) def parse_categories(self, response): products = response.css('div.astra-shop-summary-wrap') for product in products: yield { 'name': product.css('span.ast-woo-product-category::text').get().strip(), 'category': product.css('h2.woocommerce-loop-product__title::text').get().strip() }
[table id=127 /]