如何使用scrapy或美丽的汤提取特定html标记的内容?

问题描述:

我正在制作这个site的玩具履带,以改善scrapy。因此,在scrapy壳我想:如何使用scrapy或美丽的汤提取特定html标记的内容?

In [1]: for e in response.css('meta.keywords').extract(): 
    ...:  print(e) 

Out: 

<meta class="keywords" itemprop="keywords" content="abilities,choices"> 
<meta class="keywords" itemprop="keywords" content="inspirational,life,live,miracle,miracles"> 
<meta class="keywords" itemprop="keywords" content="aliteracy,books,classic,humor"> 
<meta class="keywords" itemprop="keywords" content="be-yourself,inspirational"> 
<meta class="keywords" itemprop="keywords" content="adulthood,success,value"> 
<meta class="keywords" itemprop="keywords" content="life,love"> 
<meta class="keywords" itemprop="keywords" content="edison,failure,inspirational,paraphrased"> 
<meta class="keywords" itemprop="keywords" content="misattributed-eleanor-roosevelt"> 
<meta class="keywords" itemprop="keywords" content="humor,obvious,simile"> 

与美丽的汤或scrapy我怎么能得到各meta的内容?

+1

只需使用'e.content'。 –

+0

你使用什么? Scrapy或beautifulsoup ... –

实际上,你可以通过调整你的选择做一气呵成:

for e in response.css('meta.keywords::attr(content)').extract(): 
    print(e) 

注意attr是非标准custom selector由Scrapy本身添加。