我正在尝试从提到的网站获取带有“ name table-participant”名称的td类的编号,但没有成功,因为我得到0。 有帮助吗?
谢谢
from requests import get
url = 'https://www.oddsportal.com/soccer/spain/laliga/'
response = get(url)
from bs4 import BeautifulSoup
html_soup = BeautifulSoup(response.text, 'html.parser')
type(html_soup)
movie_containers = html_soup.find_all('td', class_ = 'name table-participant')
print(type(movie_containers))
print(len(movie_containers))
答案 0 :(得分:0)
实际上,您的代码没有问题,但是您没有检查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)