python - 如何隔离打印输出中的第四行?
问题描述
我有一个屏幕刮板,可以打印这样的价格
输入:
soup = BeautifulSoup(driver.page_source,"lxml")
for item in soup.select('.valueValue-3kA0oJs5'):
[elem.extract() for elem in soup("div")]
print(item.text)
输出:
478.40
482.11
476.45
480.62
480.62
+5.15 (+1.08%)
我只希望它打印第四(或第五)行,在本例中为 480.62
我试过这个:
soup = BeautifulSoup(driver.page_source,"lxml")
for item in soup.select('.valueValue-3kA0oJs5'):
[elem.extract() for elem in soup("div")]
my_str = str(item.text, end=" ")
price_list = my_str.split()
price_list[3]
但这给出了这个错误:
---> 33 my_str = str(item.text, end=" ")
34 price_list = my_str.split()
35 price_list[3]
TypeError: 'end' is an invalid keyword argument for str()
顺便说一句: , end=" " 将所有内容彼此相邻, my_str.split() 用空格分隔它们,并且使用 price_list[3] 我试图隔离第四个。
有谁知道该怎么做?
提前致谢
解决方案
您可以使用临时列表来存储元素,而不是尝试将它们连接到一个字符串,这不适用于您使用的语法,因为您只会在每次迭代时覆盖它:
soup = BeautifulSoup(driver.page_source,"lxml")
price_list= []
for item in soup.select('.valueValue-3kA0oJs5'):
[elem.extract() for elem in soup("div")]
price_list.append(item.text)
print(price_list[3])
请注意,打印命令已删除。您只想在循环完成并且拥有完整的价目表后执行此操作。
推荐阅读
- c# - 生成访问令牌时如何将 userid 参数添加到 jwt 的有效负载?
- javascript - fetch() 错误但 ajax 或 axios 错误
- android - Unity Google Play 更新 64 位问题,它已经包含 64 位
- javascript - 单击展开的部分并展开其他部分时折叠
- tensorflow - Keras Generator 无缘无故地循环
- c# - 怪物ai巡逻和闲置
- python - 请求基本页面时出现意外错误
- excel - 将上次发送的电子邮件从 Outlook 2016 复制到内存
- android - 按 ServerTimestamp 和 FirebaseUI Firestore 分页的 Firebase Firestore 排序集合
- authentication - 适当的服务间授权