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/)
Ожидаемые результаты
1 ответ
Scopy Doese не очищает содержимое iFrames, но вы можете получить их. Сначала получите URL-адрес iframe, а затем вызовите parse для него.
urls = response.css('iframe::attr(src)').extract()
for url in urls :
yield scrapy.Request(url....)