我有一个屏幕刮刀可以打印这样的价格输入:soup = BeautifulSoup(driver.page_source,"lxml")for item in soup.select('.valueValue-3kA0oJs5'): [elem.extract() for elem in soup("div")] print(item.text) 输出:478.40482.11476.45480.62480.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] 我试着把第四个分开。有谁知道如何做到这一点?
1 回答

拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
您可以使用一个临时列表来存储元素,而不是尝试将它们连接成一个字符串,这将不适用于您使用的语法,因为您只会在每次迭代时覆盖它:
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])
请注意,打印命令是缩进的。您只想在循环完成并且您有完整的价目表后才这样做
添加回答
举报
0/150
提交
取消