首页 > 解决方案 > 为什么解析的标签名称不同?

问题描述

from bs4 import BeautifulSoup
import requests

web_url = r'https://www.mlb.com/scores/2019-05-12'
get_web = requests.get(web_url).text
soup = BeautifulSoup(get_web,"html.parser")
score = soup.find_all('div',class_='container')
print(score)

我想找到这个

但结果是这样

标签: pythonbeautifulsoup

解决方案


将标头发送到 API 以告诉它“嘿,我是桌面浏览器”以从服务器端获取相同的 HTML:

user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'
request = requests.get(url, headers={'User-Agent': user_agent})

有用的链接:

  1. 如何使用 Python 请求来伪造浏览器访问?
  2. 在 Python 中使用 Requests 库发送“用户代理”

推荐阅读