如何隔离打印输出中的第四行?

我有一个屏幕刮刀可以打印这样的价格


输入:


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] 我试着把第四个分开。


有谁知道如何做到这一点?


临摹微笑
浏览 102回答 1
1回答

拉风的咖菲猫

您可以使用一个临时列表来存储元素,而不是尝试将它们连接成一个字符串,这将不适用于您使用的语法,因为您只会在每次迭代时覆盖它: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])请注意,打印命令是缩进的。您只想在循环完成并且您有完整的价目表后才这样做
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python