如何解决如何隔离打印输出中的第四行?
我有一个屏幕刮板,可以打印出这样的价格
输入:
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()
btw:,end =“”将所有内容放在一起,my_str.split()通过空格将它们分开,并使用price_list [3]试图隔离第四个。
有人知道该怎么做吗?
预先感谢
解决方法
与其尝试将它们连接成一个字符串(该字符串无法使用您使用的语法,因为每次迭代都将其覆盖),您可以使用一个临时列表来存储元素:
library(ggplot2)
library(dplyr)
library(ggtext)
setColors <- function(x,col="red")
paste0("<span style = 'color:",col,";'>",x,"</span>")
mycols <- setNames(colorspace::rainbow_hcl(length(unique(mtcars$cyl))),unique(sort(mtcars$cyl)))
mtcars %>%
mutate(cyl = factor(setColors(cyl,col= mycols[as.character(cyl)]),unique(setColors(cyl,col = mycols[as.character(cyl)]))[
order(unique(cyl))])) %>%
ggplot(aes(wt,mpg,colour = cyl)) +
geom_point() +
theme(legend.text = element_markdown()) +
scale_color_manual(values = unname(mycols))
请注意,已确定打印命令。您只想在循环完成后就拥有完整的价目表。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。