मैं http://www.just- से रेस्तरां के नाम और पते को स्क्रैप करने का प्रयास कर रहा हूं। Eat.co.uk/belfast-takeaway वेबपेज। अब तक, मेरे सीएसवी आउटपुट में एक पंक्ति पर सभी नाम और एक पंक्ति पर सभी पते हैं। मैं प्रति नाम एक पंक्ति और प्रति पता एक पंक्ति प्राप्त करने का प्रयास कर रहा हूं।
नीचे मेरी मकड़ी है:
import scrapy
from justeat.items import DmozItem
class DmozSpider(scrapy.Spider):
name = "dmoz"
allowed_domains = ["just-eat.co.uk"]
start_urls = ["http://www.just-eat.co.uk/belfast-takeaway",]
def parse(self, response):
for sel in response.xpath('//*[@id="searchResults"]'):
item = DmozItem()
item['name'] = sel.xpath('//*[@itemprop="name"]').extract()
item['address'] = sel.xpath('//*[@class="address"]').extract()
yield item
और नीचे मेरी वस्तु है:
import scrapy
class DmozItem(scrapy.Item):
name = scrapy.Field()
address = scrapy.Field()
मैं तब उपयोग करता हूँ
scrapy crawl dmoz -o items.csv
मेरा कोड चलाने के लिए।
क्या कोई मुझे मेरी कोडिंग के साथ सही रास्ते पर ला सकता है?
1 उत्तर
हेयर यू गो :)
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import scrapy
from justeat.items import DmozItem
class DmozSpider(scrapy.Spider):
name = "dmoz"
allowed_domains = ["just-eat.co.uk"]
start_urls = ["http://www.just-eat.co.uk/belfast-takeaway", ]
def parse(self, response):
for sel in response.xpath('//*[@id="searchResults"]'):
names = sel.xpath('//*[@itemprop="name"]/text()').extract()
names = [name.strip() for name in names]
addresses = sel.xpath('//*[@class="address"]/text()').extract()
addresses = [address.strip() for address in addresses]
result = zip(names, addresses)
for name, address in result:
item = DmozItem()
item['name'] = name
item['address'] = address
yield item
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।