Scrap parse iframe url

Я анализирую ссылки с веб-сайта, а затем пытаюсь проанализировать эти ссылки для iframe src.

  • По словам DEBUG, похоже, что первые ссылки анализируются правильно, но я не получаю никаких данных в моем выходном файле.

  • Также возможно ли удалить все после? в URL. Это выглядит как встроенная информация iframe.

Я использую Centos 6.5 Python 2.7.5

scrapy runspider new.py -o videos.csv

import scrapy

class PdgaSpider(scrapy.Spider):
    name = "pdgavideos"
    start_urls = ["http://www.pdga.com/videos/"]

    def parse(self, response):
        for link in response.xpath('//td[2]/a/@href').extract():

            from scrapy.http.request import Request
            yield Request('http://www.pdga.com'+link, callback=self.parse_page, meta={'link':link})

    def parse_page(self, response):
        for frame in response.xpath("//player").extract():

            yield {
                'link': response.urljoin(frame)
            }

Результаты отладки

DEBUG: Crawled (200) <GET http://www.pdga.com/videos/2017-gbo-final-round-front-9-sexton-mcbeth-mccray-newhouse> (referer: http://www.pdga.com/videos/)
DEBUG: Crawled (200) <GET http://www.pdga.com/videos/2017-glass-blown-open-fpo-rd-2-pt-1-pierce-fajkus-leatherman-c-allen-sexton-leatherman> (referer: http://www.pdga.com/videos/)
DEBUG: Crawled (200) <GET http://www.pdga.com/videos/2017-gbo-final-round-back-9-sexton-mcbeth-mccray-newhouse> (referer: http://www.pdga.com/videos/)

Ожидаемые результаты

http://www.youtube.com/embed/tYBF-BaqVJ8

1 ответ

Scopy Doese не очищает содержимое iFrames, но вы можете получить их. Сначала получите URL-адрес iframe, а затем вызовите parse для него.

urls = response.css('iframe::attr(src)').extract()
for url in urls :
        yield scrapy.Request(url....)
Другие вопросы по тегам