python - python beatifulsoup webscrape循环中的不同元素
问题描述
我想刮的表中有循环
<ul>
<li class="cell036 tal arrow"><a href=" y/">ALdCTL</a></li>
<li class="cell009">5,71</li>
<li class="cell009">5,74</li>
<li class="cell009">-3,04</li>
<li class="cell009">5,92</li>
<li class="cell009">5,76</li>
<li class="cell009">5,53</li>
<li class="cell009">907.438</li>
<li class="cell009">5.114.192</li>
</ul>
我的python代码适用于在类a
的第一个元素中查找文本而不是文本li
cell009
c=soup.findAll('li',class_='cell036 tal arrow' )
for foo in soup.find_all('li', class_= ['cell036 tal arrow']):
bar = foo.find(['a'])
print(bar.text)
解决方案
借用 drec4s 开放结构,您可能还可以使用 CSS 或组合来按类名定位 li 元素。
from bs4 import BeautifulSoup
html_text = """
<ul>
<li class="cell036 tal arrow"><a href=" y/">ALdCTL</a></li>
<li class="cell009">5,71</li>
<li class="cell009">5,74</li>
<li class="cell009">-3,04</li>
<li class="cell009">5,92</li>
<li class="cell009">5,76</li>
<li class="cell009">5,53</li>
<li class="cell009">907.438</li>
<li class="cell009">5.114.192</li>
</ul>
"""
soup = BeautifulSoup(html_text, "lxml")
for foo in soup.select('li.cell036.tal.arrow,li.cell009'):
print(foo.text)
推荐阅读
- python - 为什么增加缓存大小时 hdf5 读取速度会降低?
- java - 如何使用 log4j2 将 JSON 结构作为源而不是消息记录到弹性搜索中
- github-actions - Github 操作在安装依赖项时失败
- python-3.x - 将函数应用于具有向量返回轴相关错误的数据框?
- html - 如何在 Beautiful Soup 对象(或类似的 HTML 结构)中打印某个级别的所有节点?
- python - 未定义变量的错误,不知道为什么会这样
- arrays - 使用 API 解码 JSON 并将产品添加到字典中的数组
- ios - AVRoutePicker 不会将音频输出到 Airplay 设备,但会输出到电话扬声器和耳机
- python - 如何在处理 KMeans 时避免内存泄漏,例如在此代码中,我试图找到在 KMean 聚类中使用的最佳 WCSS
- python - Flask SQLAlchemy 模型 - 使用 declaritive_base() 与 SQLAlchemy() 类实例化