如何进行Python Web爬网(无标记、无div名称、无类名)

如何进行Python Web爬网(无标记、无div名称、无类名),python,web-crawler,Python,Web Crawler,我知道网络爬网需要一个名字标签。(例如:class='abcd') 但是现在我想要的那个没有这个名字 我想从图像值中提取(span)1(span)中的1。 如何解决这个问题 始终感谢stackoverflow的用户。对于bs4 4.7.1,您可以使用:has pseudo selector指定span,同级span具有class.point scale soup.select_one('span:has(~ .point-scale)').text 那是一个普通的兄弟姐妹。您还可以更具体地处

我知道网络爬网需要一个名字标签。(例如:class='abcd') 但是现在我想要的那个没有这个名字

我想从图像值中提取(span)1(span)中的1。 如何解决这个问题


始终感谢stackoverflow的用户。

对于bs4 4.7.1,您可以使用:has pseudo selector指定span,同级span具有class.point scale

soup.select_one('span:has(~ .point-scale)').text
那是一个普通的兄弟姐妹。您还可以更具体地处理相邻的兄弟姐妹

soup.select_one('span:has(+ .point-scale)').text
使用
选择
并列出多个匹配项的理解:

ratings = [item.text for item in soup.select('span:has(~ .point-scale)')]

Combinators(引自Mozilla开发页面)

相邻的同级组合符(+)分隔两个选择器和 仅当第二个元素紧跟在第一个元素之后时才匹配第二个元素 元素,两者都是同一父元素的子元素

通用同级组合符(~)分隔两个选择器和匹配项 仅当第二个元素紧跟第一个元素(尽管不是 两人都是同一父母的子女 元素


CSS选择器也可用于根据父对象的已知选择器选择子对象,您所需的值是否始终位于带有类ipl图标的svg下?或者始终在某个svg下,该svg处于“类别分级”和“其他用户分级”下?您可以访问类别
ipl图标ipl星形图标
,然后访问标记
span
,请使用代码段工具插入html代码。尽可能避免使用html图片。我解决了这个问题,但我很好奇,我会再问你一个问题。(+)是上面的兄弟。并解释(~)关于你的“你也可以更具体地与相邻的兄弟姐妹”但是。我和(~,+)没什么区别。。。如何使用(~)?