【发布时间】:2018-02-09 23:58:21
【问题描述】:
我是BeautifulSoup4 的新手,遇到了一个看起来很简单的问题。我只能通过 id 找到,但不能按类找到。例如,我正在查看一个包含以下 html 部分的网站:
现在,以下工作:
page_soup.findAll('div', {'id': 'page-content'})
而以下内容一无所获:
page_soup.findAll('div', {'class': 'main-container'})
所以我的问题是:'class' 的处理方式与 'id' 属性不同吗?如果是这样,按类名搜索的正确方法是什么?
只是为了补全,虽然我觉得没关系,我还是通过selenium包的page_source方法获取了html。
编辑:Here 是此类页面的一个示例。如果我们检查上面的表格,包括玩家的位置、年龄等,那么我们就得到了上面的 html 快照。
【问题讨论】:
-
我假设您在发布此问题时在第二行输入了错字?
{'class: 'main-container'} -
@DMan,是的,谢谢,已修复
-
这两行都应该返回至少一个标签。能否包含更多代码和 html 数据?
-
你所做的看起来是对的。我假设你不能给我们页面的网址?
-
你的页面有 iframe 元素吗?也许你没有得到一个元素,因为它位于 iframe 内。
标签: python-3.x selenium beautifulsoup web-crawler html-parsing