Я хочу получить все внешние ссылки с данного сайта с помощью Scrapy. Используя следующий код, паук также сканирует внешние ссылки:Scrapy, используйте только внутренние URL-адреса, но извлекайте все найденные ссылки
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
Что мне не хватает? Не разрешено ли «allowed_domains» обходить внешние ссылки? Если я устанавливаю «allow_domains» для LinkExtractor, он не извлекает внешние ссылки. Просто уточнить: я не сканирую внутренние ссылки, но извлекаю внешние ссылки. Любая помощь appriciated!
Если я включаю OffsiteMiddleware ссылки не пополз, но и не извлеченное. По крайней мере, тогда я могу увидеть «Отфильтрованный внешний запрос на« www.externaldomain ». Конечно, я пропустил что-то тривиальное здесь? – sboss
просто для того, чтобы понять: хотите ли вы иметь список всех внешних ссылок для данного сайта? – aberna
Да, что правильно! – sboss