在创造了一些不同的蜘蛛后,我认为我几乎可以刮掉任何东西,但我遇到了障碍。
给出以下代码片段:
<div class="col-md-4">
<div class="tab-title">Homepage</div>
<p>
<a target="_blank" rel="nofollow"
href="http://www.bitcoin.org">http://www.bitcoin.org
</a>
</p>
</div>
如何根据<a ... </a>
div中的文字选择tab-title
内的链接?
我需要这个条件的原因是因为有几个其他链接符合这个条件:
response.css('div.col-md-4 a::attr(href)').extract()
我最好的猜测如下:
response.css('div.col-md-4 div.tab-title:contains("Homepage") a::attr(href)').extract()
任何见解都表示赞赏!先感谢您。
注意:我正在使用Scrapy。
答案 0 :(得分:2)
使用XPath如何:
div
在内部找到包含tab-title
的班级Homepage
的{{1}},然后升级到家长并在任何级别查找a
子级。
修改强>: 使用CSS,你应该能够这样做:
response.css('div.tab-title:contains("Homepage") ~ * a::attr(href)')