使用scrapy和CSS从HTML提取特定值

时间:2019-02-13 15:23:08

标签: html css python-3.x web-scraping scrapy

我有以下HTML代码:

<div class="sites-split">
    <ul>
        <li><a href="http://www.page1.com/" target="_blank">text 1</a></li>
        <li><a href="http://www.page2.com/" target="_blank">text 2</a></li>
    </ul>
    <ul>
        <li><a href="http://www.page3.com/" target="_blank">text 3</a></li>
        <li><a href="http://www.page4.com/" target="_blank">text 4</a></li>
    </ul>
</div>

我想提取链接和与该链接关联的文本,我设法通过以下方式获取链接:

response.css("div.sites-split a::attr(href)").getall()

但是我不知道如何获取文字,我尝试过:

response.css("div.sites-split a::attr(target)").getall()

但是我得到的是:

['_blank',
 '_blank',
 '_blank',
 '_blank']

1 个答案:

答案 0 :(得分:4)

您要提取另一个属性,但需要文本。尝试response.css("div.sites-split a::text").getall()