Как упоминалось в комментарии Tarun Lalwani , данные, которые вы видите в своем браузере, создаются с использованием Javascript. Один из способов - использовать Selenium или Scrapy с spla sh, другой - найти сделанные API-вызовы и использовать их напрямую.
Используйте DevTools вашего браузера (ctrl + shift + c) и проверьте вкладку «Сеть». Посмотрите, что произойдет, когда вы перезагрузите страницу. Вы должны заметить, что к их API поступают запросы, которые вы можете использовать и управлять, чтобы получить данные, которые вы ищете. Из ответа в формате json вы можете извлечь данные, которые ищете.
Ниже приведен минимальный рабочий пример, который печатает названия курсов, которые вы видите в верхней части https://www.udemy.com/topic/python/:
import scrapy
import json
class UdemySpider(scrapy.Spider):
name = "udemy"
start_urls = ['https://www.udemy.com/api-2.0/discovery-units/?context=topic&from=0&page_size=10&item_count=12&excluded_course_ids=&label_id=7380&source_page=topic_page&locale=de_DE¤cy=eur&navigation_locale=en_US&skip_price=true']
def parse(self, response):
jsonresponse = json.loads(response.body_as_unicode())
for item in jsonresponse['units'][0]['items']:
print(item['title'])
Результат печати (по крайней мере, для пользователей из Германии) будет выглядеть так:
Python Bootcamp: Vom Anfänger zum Profi, inkl. Data Science
Python für Data Science, Machine Learning & Visualization
Data Science & Maschinelles Lernen in Python - am Beispiel
Machine Learning Komplettkurs mit Python inkl. AI Einführung
Python Bootcamp: Der Einstiegskurs
Python - Das Python Grundlagen Bootcamp - Von 0 auf 100!
Visualisiere Daten mit Python - auch für Anfänger!
Data Science, Apache Spark & Python: Analysiere echte Daten!
Fortgeschrittene Python Programmierung
Complete Python Bootcamp: Go from zero to hero in Python 3
Machine Learning A-Z™: Hands-On Python & R In Data Science
Python for Data Science and Machine Learning Bootcamp