现在有很多网站的页面数据都是通过ajax获取数据,或者接口api的链接,返回json格式的数据,再渲染到页面。
这时使用Selectors选择器抓取就行不通了。解决方法,很简单,使用 json.loads 方法就可以获取到json数据了。
json数据
{"k":"086,05,11,35,34,45,03,28,087,08,04,六,21点30分","t":"1000","联系":"QQ:7136995"}
在Scrapy里,dmoz_spider.py 文件parse函数里调用 json.loads。
#coding=utf-8
import scrapy
import json
class DmozSpider(scrapy.Spider):
name = "dmoz"
allowed_domains = ["dmoz.org"]
start_urls = [
"http://www.test.com/test/get_data"
]
def parse(self, response):
# 调用body_as_unicode()是为了能处理unicode编码的数据
sites = json.loads(response.body_as_unicode())
#print sites['k']
numbers = sites['k'].split(',')
print numbers