2017-05-08 3 views
2

Ich mache ein Spielzeug Crawler dieser site, um mit scrapy zu verbessern. So wird in der scrapy Shell Ich habe versucht:Wie extrahiert man den Inhalt bestimmter HTML-Tags mit Scrapy oder schöne Suppe?

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"> 

Mit schönen Suppe oder kratzig wie kann ich den Inhalt jeder meta bekommen?.

+1

Verwenden Sie einfach 'e.content'. –

+0

Was benutzen Sie? Scrapy oder beautifulsoup ... –

Antwort

2

Sie können tun es tatsächlich in einem Rutsch durch Ihre Wähler Einstellung:

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

Beachten Sie, dass attr ein Nicht-Standard-custom selector von Scrapy selbst hinzugefügt ist.