Сейчас я пытаюсь почистить эту страницу: http://search.siemens.com/en/?q=iot
Для этого мне нужно извлечь ссылки и разобрать их, которые я только что узнал, должно быть возможно с классом Crawl. Однако моя реализация, похоже, не работает. В целях тестирования я пытаюсь вернуть тело ответа с каждого веб-сайта. К сожалению, паук открывает только каждую третью ссылку и не возвращает ответное тело.
Есть идеи, что я делаю не так?
import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule
class SiemensCrawlSSpider(CrawlSpider):
name = 'siemens_crawl_s'
allowed_domains = ['search.siemens.com/en/?q=iot']
start_urls = ['http://search.siemens.com/en/?q=iot']
rules = (
Rule(LinkExtractor(restrict_xpaths='.//dl[@id="search-resultlist"]/dt/a'), callback='parse_item', follow=True),
)
def parse_item(self, response):
yield response.body