如何刮取新闻源?

时间:2015-01-10 13:52:42

标签: python xpath scrapy

我一直在浏览Scrapy示例并且它们是有意义的,但是一旦我在新闻Feed上尝试它我就什么都得不到除了头衔而且不知道怎么做继续进行。

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')

它返回null。我已经尝试过检查Chome中的元素来检查内容,但我不知道怎么能到身体去试试。感谢

1 个答案:

答案 0 :(得分:2)

rss不是html文档,而是xml文档。您可以在http://www.w3schools.com/xml/xml_rss.asp找到关于rss的信息。 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 docs可以在http://doc.scrapy.org/en/latest/intro/tutorial.html

找到