На самом деле с вашим кодом все в порядке, но вы не проверяли код состояния из запроса GET
. Происходит то, что сервер отвечает с хорошим 404
и страницей, которая не содержит то, что вы ищете. Причина? Я не знаю.
Поскольку указанный URL-адрес работает в браузере, я просто добавил заголовки User-Agent
к вызову, и ваш код начал работать. Чтобы добавить User-Agent
, вы должны сделать что-то вроде:
from requests import get
from bs4 import BeautifulSoup
headers = {'User-Agent': 'Mozilla/5.0'}
url = 'https://www.oddsportal.com/soccer/spain/laliga/'
response = get(url, headers=headers)
if response.status_code == 200:
html_soup = BeautifulSoup(response.text, 'html.parser')
movie_containers = html_soup.find_all('td', class_ = 'name table-participant')
print(type(movie_containers))
print(len(movie_containers))
else:
print("Server returned status code %s" % response.status_code)