सभी लिंक निकालें, मैं स्केपर का उपयोग करके किसी दिए गए वेबसाइट से सभी बाहरी लिंक प्राप्त करना चाहता हूं। निम्नलिखित कोड का उपयोग करके स्पाइडर बाहरी लिंक भी क्रॉल करता है:स्क्रैप, केवल आंतरिक यूआरएल का पालन करें, लेकिन
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors import LinkExtractor
from myproject.items import someItem
class someSpider(CrawlSpider):
name = 'crawltest'
allowed_domains = ['someurl.com']
start_urls = ['http://www.someurl.com/']
rules = (Rule (LinkExtractor(), callback="parse_obj", follow=True),
)
def parse_obj(self,response):
item = someItem()
item['url'] = response.url
return item
मुझे क्या याद आ रही है? क्या "अनुमति_डोमेन" बाहरी लिंक को क्रॉल करने से नहीं रोकता है? अगर मैं LinkExtractor के लिए "allow_domains" सेट करता हूं तो यह बाहरी लिंक निकालने नहीं करता है। बस स्पष्ट करने के लिए: मैं आंतरिक लिंक क्रॉल नहीं करना चाहता लेकिन बाहरी लिंक निकालना चाहता हूं। किसी भी मदद की सराहना की!
हल किया। कम से कम तब मैं "www.externaldomain 'के लिए फ़िल्टर किए गए ऑफसाइट अनुरोध को देख सकता हूं। निश्चित रूप से मुझे यहां कुछ मामूली याद आ रही है? – sboss
बस समझने के लिए: क्या आप किसी दिए गए वेबसाइट के लिए सभी बाहरी लिंक की सूची चाहते हैं? – aberna
हां सही है! – sboss