Scrapy:抓取返回数据格式为JSON的网站内容

有些网站的数据是通过ajax请求获取的,或者提供了json格式的api。

比如对于如下的数据:

[javascript] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. {  
  2.         {  
  3.             "url""http://www.techbrood.com/news/1",  
  4.             "author""iefreer",  
  5.             "title""techbrood Co. test 1"  
  6.         },  
  7.         {  
  8.             "url""http://www.techbrood.com/news/2",  
  9.             "author""ryan.chen",  
  10.             "title""techbrood Co. test 2"  
  11.         }  
  12. }  

在Scrapy里,只要简单改写下parse函数就行:

[python] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. def parse(self, response):  
  2.     sites = json.loads(response.body_as_unicode())  
  3.     for site in sites:  
  4.         print site['url']  


调用body_as_unicode()是为了能处理unicode编码的数据。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章