美汤获得td级数

时间:2019-05-14 23:55:36

标签: python class html-table beautifulsoup

我正在尝试从提到的网站获取带有“ 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))

1 个答案:

答案 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)