मेरे items.py फ़ाइल इस प्रकार है:स्क्रैप का उपयोग कर जावास्क्रिप्ट चर से डेटा निकालने के लिए पुनः() का उपयोग कैसे करें?
from scrapy.item import Item, Field
class SpiItem(Item):
title = Field()
lat = Field()
lng = Field()
add = Field()
और मकड़ी है:
import scrapy
import re
from spi.items import SpiItem
class HdfcSpider(scrapy.Spider):
name = "hdfc"
allowed_domains = ["hdfc.com"]
start_urls = ["http://hdfc.com/branch-locator"]
def parse(self,response):
addresses = response.xpath('//script')
for sel in addresses:
item = SpiItem()
item['title'] = sel.xpath('//script[@type="text/javascript"][1]').re('(?<="title":).+(?=")')
item['lat'] = sel.xpath('//script[@type="text/javascript"][1]').re('(?<="latitude":).+(?=")')
item['lng'] = sel.xpath('//script[@type="text/javascript"][1]').re('(?<="longitude":).+(?=")')
item['add'] = sel.xpath('//script[@type="text/javascript"][1]').re('(?<="html":).+(?=")')
yield item
पूरे जावास्क्रिप्ट कोड, पर देखने के पेज स्रोत, के भीतर लिखे गए: //html/body/table/tbody/tr[348]/td[2]
।
मेरा कोड क्यों काम नहीं कर रहा है? मैं आइटम फ़ाइल में उल्लिखित चार फ़ील्ड निकालना चाहता हूं।
कृपया अपने खरोज को ठीक। – IanAuld
इंडेंटेशन किया गया। – Aditya