从 REST Api 抓取 Json 数据
Scraping Json Data from a REST Api
我正在使用 Android 学习 Firebase,我需要一个数据库来使用。这是 Json 请求 url :https://yts.ag/api/v2/list_movies.json 。
它包含我需要的大约 5000 部电影列表。所以我在网上搜索了一下,发现了一个叫做 Scrapy 的工具。但是我不知道如何在休息中使用它API。感谢任何帮助
很简单。按照 the tutorial 并从 REST 端点的 URL 开始。在您的 parse()
或 parse_item()
函数中,使用 json.loads(response.body)
加载 JSON 文档。由于 Scrapy 现在可以摄取字典,您的代码可能会像
一样简单
import json
...
def parse(self, response):
return json.loads(response.body)
Here 是一个稍微高级的用例。
首先你需要按照Scrapy Tutorial创建一个scrapy项目,然后你的爬虫就可以这么简单:
class MySpider(Spider):
name = 'myspider'
start_urls = ['https://yts.ag/api/v2/list_movies.json']
def parse(self, response):
json_response = json.loads(response.body)
for movie in json_response['data']['movies']:
yield Request(movie['url'], callback=self.parse_movie)
def parse_movie(self, response):
# work with every movie response
yield {'url': response.url}
我正在使用 Android 学习 Firebase,我需要一个数据库来使用。这是 Json 请求 url :https://yts.ag/api/v2/list_movies.json 。 它包含我需要的大约 5000 部电影列表。所以我在网上搜索了一下,发现了一个叫做 Scrapy 的工具。但是我不知道如何在休息中使用它API。感谢任何帮助
很简单。按照 the tutorial 并从 REST 端点的 URL 开始。在您的 parse()
或 parse_item()
函数中,使用 json.loads(response.body)
加载 JSON 文档。由于 Scrapy 现在可以摄取字典,您的代码可能会像
import json
...
def parse(self, response):
return json.loads(response.body)
Here 是一个稍微高级的用例。
首先你需要按照Scrapy Tutorial创建一个scrapy项目,然后你的爬虫就可以这么简单:
class MySpider(Spider):
name = 'myspider'
start_urls = ['https://yts.ag/api/v2/list_movies.json']
def parse(self, response):
json_response = json.loads(response.body)
for movie in json_response['data']['movies']:
yield Request(movie['url'], callback=self.parse_movie)
def parse_movie(self, response):
# work with every movie response
yield {'url': response.url}