2015-01-10 4 views
0

Я прошел через примеры Scrapy, и они имеют смысл, но как только я пробую это в новостной ленте, я не получаю ничего, кроме названий, и не знаю, как действовать дальше.Как очистить канал новостей?

scrapy shell http://feeds.bbci.co.uk/news/rss.xml 

Все, что я могу получить от этого

response.xpath('//title') 

Какие выходы

<Selector xpath='//title' data=u'<title xmlns:media="http://search.yahoo.'>] 

Как можно найти метки внутри?

Когда я пытаюсь это:

response.xpath('//div') 

возвращает нуль. Я попробовал Inspect Elements из Chome, чтобы проверить содержимое, но я не могу как-то даже добраться до тела, чтобы попробовать что-то. Спасибо

+0

Что вы имеете в виду с «метками»? –

ответ

2

rss не является документом html, это xml документ. Вы можете найти информацию по rss по адресу http://www.w3schools.com/xml/xml_rss.asp. rss документов выглядеть примерно так:

<?xml version="1.0" encoding="UTF-8" ?> 
<rss version="2.0"> 

<channel> 
    <title>W3Schools Home Page</title> 
    <link>http://www.w3schools.com</link> 
    <description>Free web building tutorials</description> 
    <item> 
    <title>RSS Tutorial</title> 
    <link>http://www.w3schools.com/rss</link> 
    <description>New RSS tutorial on W3Schools</description> 
    </item> 
    <item> 
    <title>XML Tutorial</title> 
    <link>http://www.w3schools.com/xml</link> 
    <description>New XML tutorial on W3Schools</description> 
    </item> 
</channel> 

</rss> 

Так нет div тегов в нем. Для того, чтобы получить описание каждого столба/новости вы можете использовать response.xpath('//description/text()')

Scrapy документы можно найти здесь http://doc.scrapy.org/en/latest/intro/tutorial.html

Смежные вопросы