抓取豆瓣TOP250 MOVIES中 .previous_sibling的问题点
Hi all,谁能解释下,为什么下面previous_sibling.previous_sibling.text就能够判断出总共是10页,越详细越好
depth = soup.find('span', class_='next').previous_sibling.previous_sibling.text
后页 前面的兄弟节点是个 10
具体的以你读取到的源码为准。
本来应该一个previous_sibling就可以,这里要两个,可能中间有空格还是什么吧 previous_sibling 是什么意思啊
傻纸 发表于 2019-9-30 22:47
后页 前面的兄弟节点是个 10
具体的以你读取到的源码为准。
本来应该一个previous_sibling就可以,这里 ...
我看源码好像没找到空格或者其他元素呀,兄弟请问一下你找到原因了吗,为啥俩previous_sibling{:5_100:} Rodrigez10 发表于 2020-3-31 19:06
我看源码好像没找到空格或者其他元素呀,兄弟请问一下你找到原因了吗,为啥俩previous_sibling
两个.previous_sibling是因为要找后页前面兄弟节点的兄弟节点,内容为9,虽然总共有10页,但是地址栏中链接是从0开始的,第10页的地址为https://movie.douban.com/top250?start=225,其中255为9*25,所以要找的页面深度为倒数第二个9,而不是10。 平行遍历节点不一定都是标签,还可以是NavigableString。在本例中,原标签的向前遍历previous_sibling对应的就是一个NavigableString类型的值,还是个空值,所以需要再次前行一次,才能找到10这个结果。
页:
[1]