#python #web-scraping #scrapy
#python #веб-очистка #scrapy
Вопрос:
Код, который я использую, в значительной степени вырезан и вставлен из руководства на их сайте.
import scrapy
class QuotesSpider(scrapy.Spider):
name = "quotes"
def start_requests(self):
urls = [
'https://overwatchleague.com/en-us/players'
]
for url in urls:
yield scrapy.Request(url=url, callback=self.parse)
def parse(self, response):
page = response.url.split("/")[-2]
filename = 'quotes-%s.html' % page
with open(filename, 'wb') as f:
f.write(response.body)
self.log('Saved file %s' % filename)
Код выполняется нормально, но сохраняемый HTML-файл имеет затемненный значок и открывается на странице 404.
РЕДАКТИРОВАТЬ: При более детальном рассмотрении кажется, что это связано с некоторыми процедурами очистки. Возможно ли обойти это?
Комментарии:
1. Этот веб-сайт использует Javascript для загрузки информации. Вам нужно использовать Scrapy Splash для рендеринга Javascript. В качестве альтернативы, вы не можете просто использовать их официальный API ?
2. Спасибо, я посмотрю на splash! Я знаю, что могу использовать API, но частью этого проекта является изучение веб-очистки для меня, ха-ха.