I'm new to Python and web scraping. In this program I want to write final output (product name and price from all 3 links) to JSON file. Please help!
import scrapy
from time import sleep
import csv, os, json
import random
class spider1(scrapy.Spider):
name = "spider1"
def start_requests(self):
list = [
"https://www. example.com/item1",
"https://www. example.com/item2",
"https://www. example.com/item3"]
for i in list:
yield scrapy.Request(i, callback=self.parse)
sleep(random.randint(0, 5))
def parse(self, response):
product_name = response.css('#pd-h1-cartridge::text')[0].extract()
product_price = response.css(
'.product-price .is-current, .product-price_total .is-current, .product-price_total ins, .product-price ins').css(
'::text')[3].extract()
name = str(product_name).strip()
price = str(product_price).replace('\n', "")
data = {name, price}
yield data
extracted_data = []
while i < len(data):
extracted_data.append()
sleep(5)
f = open('data.json', 'w')
json.dump(extracted_data, f, indent=4)