python - 无法使用 BeautifulSoup 提取 span 元素
问题描述
见下文。我正在使用 BeautifulSoup 来尝试提取这个值。我试过的:
pg = requests.get(websitelink)
soup = BeautifulSoup(pg.content, 'html.parser'
value = soup.find('span',{'class':'wall-header__item_count'}).text
我试过find,find all,它返回一个Nonetype。无论出于何种原因,这些方法都无法找到墙头项目计数,即使它出现在 HTML 中也是如此。我怎样才能得到这个值?谢谢!
解决方案
我假设您想获取总项目数。该数字存储在 HTML 页面内的<script>
. beautifulsoup
没看到,但是可以用re
/ json
modules来解压:
import re
import json
import requests
url = "https://www.nike.com/w"
html_doc = requests.get(url).text
data = re.search(r"window\.INITIAL_REDUX_STATE=(\{.*\})", html_doc).group(1)
data = json.loads(data)
# uncomment this to print all data;
# print(json.dumps(data, indent=4))
print("Total items:", data["Wall"]["pageData"]["totalResources"])
打印件(如果在我的国家/地区):
Total items: 5600
推荐阅读
- node.js - 返回错误的节点 js REST API 显示“无法发布 /api/v1/product”
- python - 是否可以使用 Amazon 管理的气流 dag 在 EC2 实例中执行 python 脚本?
- python - 来自 skimage 的 ImportError:我该如何解决?
- twitter - 尝试请求令牌时出现 Twitter API 错误
- r - 如何消除重复的观察,从两个观察中保留信息?
- c++ - MSVC 链接器似乎在没有 `__declspec(dllimport)` 的情况下链接了错误的符号
- html - 如何在html中添加多个链接作为scr
- github-actions - 是否可以在 github 操作中获取语义发布发布的版本?
- powershell - Powershell打开后立即崩溃
- javascript - 使用 yandex 进行反向搜索(javascript)