最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【已解决】PySpider中PyQuery选择div后面的第二个span元素

pyspider crifan 3528浏览 0评论

折腾

【已解决】使用PySpider去爬取某网站中的视频

期间,需要去对于html:

<code>&lt;div class="v-user"&gt;
    &lt;span class="v-user-name"&gt;徐欣蕊&lt;/span&gt;
    &lt;span&gt;热度:65.00&lt;/span&gt;
</code>

想要选择div中第二个span

看了看:

CSS 选择器参考手册

p:nth-child(2)
选择属于其父元素的第二个子元素的每个 <p> 元素。
3
p:nth-last-child(2)
同上,从最后一个子元素开始计数。
3
p:nth-of-type(2)
选择属于其父元素第二个 <p> 元素的每个 <p> 元素。
3
p:nth-last-of-type(2)
同上,但是从最后一个子元素开始计数。
3

有点不太懂,

css selector parent with specific child

css selector parent second child

CSS :nth-child() Selector

CSS selector – element with a given child – Stack Overflow

css – Selecting an element that has a specific child? – Stack Overflow

css3 – Select second 2nd child div from within the parents div – Stack Overflow

试试:

<code>scoresText = response.doc('div[class="v-user"] span:nth-child(2)').text()
</code>

然后是可以的匹配到的:

(另外一个页面的执行结果)

【总结】

此处想要匹配:

<code>&lt;div class="v-user"&gt;
    &lt;span class="v-user-name"&gt;xxx&lt;/span&gt;
    &lt;span&gt;热度:65.00&lt;/span&gt;
</code>

中div下面第二个span的话,css选择器的写法是:

<code>div[class="v-user"] span:nth-child(2)
</code>

转载请注明:在路上 » 【已解决】PySpider中PyQuery选择div后面的第二个span元素

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
90 queries in 0.251 seconds, using 22.17MB memory