我有一個屏幕刮刀可以打印這樣的價格輸入: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
提交
取消