मैं स्केपर के लिए नया हूं और मैं स्क्रैपिंग अभ्यास पर काम कर रहा हूं और मैं क्रॉलस्पीडर का उपयोग कर रहा हूं। हालांकि स्केपर ढांचा खूबसूरती से काम करता है और यह प्रासंगिक लिंक का पालन करता है, लेकिन मुझे क्रॉलस्पीडर को पहले लिंक (होम पेज/लैंडिंग पेज) को स्क्रैप करने के लिए प्रतीत नहीं होता है। इसके बजाए यह नियम द्वारा निर्धारित लिंक को सीधे स्क्रैप करने के लिए सीधे जाता है लेकिन लैंडिंग पृष्ठ को स्क्रैप नहीं करता है जिस पर लिंक हैं। मुझे नहीं पता कि इसे कैसे ठीक किया जाए क्योंकि क्रॉलस्पीडर के लिए पार्स विधि को ओवरराइट करने की अनुशंसा नहीं की जाती है। अनुवर्ती पालन = सही/गलत भी कोई अच्छा परिणाम नहीं देता है। यहाँ कोड का स्निपेट है:स्केपर क्रॉलस्पीडर पहले लैंडिंग पृष्ठ को क्रॉल नहीं करता
class DownloadSpider(CrawlSpider):
name = 'downloader'
allowed_domains = ['bnt-chemicals.de']
start_urls = [
"http://www.bnt-chemicals.de"
]
rules = (
Rule(SgmlLinkExtractor(aloow='prod'), callback='parse_item', follow=True),
)
fname = 1
def parse_item(self, response):
open(str(self.fname)+ '.txt', 'a').write(response.url)
open(str(self.fname)+ '.txt', 'a').write(','+ str(response.meta['depth']))
open(str(self.fname)+ '.txt', 'a').write('\n')
open(str(self.fname)+ '.txt', 'a').write(response.body)
open(str(self.fname)+ '.txt', 'a').write('\n')
self.fname = self.fname + 1
आपने 'अनुमति' तर्क – webKnjaZ