我正在尝试解析一个具有多个同名类的网站。我想采用第一个(如网页上所示)类(class)的元素。但是,find_all 或 find 不保留解析的顺序。下面是我对 find_all 的实现
请帮忙:
import urllib.request
from bs4 import BeautifulSoup
searchQueryFK = "https://www.flipkart.com/search?q="+str("panasonic%2043e200dx")
r = urllib.request.urlopen(searchQueryFK).read()
soup = BeautifulSoup(r,'html.parser')
FKPrice = soup.find_all("div", {'class':"_2SxMvQ"})[0].find_all("div", {'class':"_1vC4OE"})[0]
print(FKPrice.text[1:])
最佳答案
我想说我不是最有资格评论性能的人,因为 bs4
使用了一种我不太熟悉的结构,即 generator
。
在查看 beautiful soup ( github ) 的源代码后,我发现该函数迭代了一些 generator
。因此我的结论是:如果生成器保留它们的顺序,那么 find_all() 也会保留它们的顺序,否则反之亦然。
只需搜索 def find_all(
,在源代码中,然后让我知道,什么听起来对你有说服力。
但由于 python 中的 range
函数也返回一个生成器,因此我相信生成器保留了它们的顺序,因此我的主张是 find_all
也保留了顺序。
但是,我不是 100% 确定。
https://stackoverflow.com/questions/49248799/
相关文章:
python - 如何对 Pandas RE .str.extract() 使用 RE OR 操作数
apache-flink - 在不重启作业的情况下在 Apache Flink 中动态添加模式
amazon-web-services - 在 Looker 中可以进行分页吗?
asynchronous - 使用 async/await 进行异步 mocha 测试时遇到问题
android - 在 test.Jar 中启动 startActivity() ,Cordova
jenkins - 如何在多分支管道项目中为每个分支级别的用户提供访问权限?
google-app-engine - 如何在 objectify 中通过嵌套 Refs 进行查询
python - 如何使用 R 按列将 .csv 拆分为多个 .csv?