2017-05-08 58 views
2

我正在製作這個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 ... –

回答

2

實際上,你可以通過調整你的選擇做一氣呵成:

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

注意attr是非標準custom selector由Scrapy本身添加。