Выбор всех тегов сценария в HTML с помощью Scrapy в Django
Я хочу получить все теги сценариев из url, но есть проблема, с которой я сталкиваюсь.
Предположим, что url является: https://somewebsite.com/
Как выглядит моя функция разбора в моем классе паука (который является очень базовым):
def parse(self, response, **kwargs):
""" Parses the response. """
script_elements = response.css("script")
# There are lots of script tags but most of them are missing.
# Let's say, in website, there are 25 script tags.
# The code above will return 3 or 4 of them.
parsed_result = list()
for script_element in script_elements:
script = script_element.extract()
# other code blocks
return parsed_result
Но когда я запускаю scrapy с помощью shell вот так:
scrapy shell https://somewebsite.com/
А когда я выбираю теги скрипта в shell:
response.css("script").extract()
Я получил именно то, что хотел. Все скриптовые теги в HTML есть. Почему такая разница? Я запускаю Scrapy с веб-приложением Django (не знаю, имеет ли это какое-то значение)