【发布时间】:2021-02-28 19:21:58
【问题描述】:
我一直在尝试解决这个问题,但没有运气。我发现了一个我认为会有所帮助的线程 (How to scrape data from flexbox element/container with Python and Beautiful Soup),但我似乎无法取得任何进展。
我要抓取的网站是...http://www.northwest.williams.com/NWP_Portal/。特别是我想从“存储级别”的选项卡/框架中获取数据,但对于我来说,我似乎无法导航到正确的位置来获取数据。我已经尝试了下面代码的各种迭代,但没有成功。我已将“lxml”更改为“html.parser”,查找表,查找“tr”等,但代码始终返回空。我也试过查看网络信息,但是当我点击任何选项卡(系统状态、PAL/系统平衡等)时,我看不到网络活动有任何变化。我敢肯定,我忽略了一些简单的事情,但我就是不能把手指放在它上面。
from bs4 import BeautifulSoup as soup
import requests
url = 'http://www.northwest.williams.com/NWP_Portal/'
r = requests.get(url)
html = soup(r.content,'lxml')
page = html.findAll('div',{'class':'dailyOperations-panels'})
如何“导航”到“存储级别”框架/选项卡?我真正要寻找的 html 是什么?我可以只用请求和漂亮的汤来做到这一点吗?我不反对使用 Selenium,但我以前没有使用过它,如果可能的话,我更愿意只使用 requests 和 BeautifulSoup。
提前致谢!
【问题讨论】:
-
其他人可以提供任何见解吗?似乎当我请求主 URL 时,我得到的只是顶部的标题、左侧的菜单和右侧的天气。我似乎无法弄清楚如何进入数据的中间位置。检查网络活动我得到的唯一活动是单击顶部的日常操作链接。主框架内的每次点击都不会触发任何活动。抱歉,如果我没有正确解释这一点。我只需要帮助获取数据,之后我应该能够检索数据。谢谢。
标签: python html beautifulsoup flexbox