【发布时间】:2018-11-21 03:41:58
【问题描述】:
我正在使用scrapy,我正在尝试使用scrapy shell 测试我的选择器,但没有任何效果。我正在尝试在此网站上抓取 JSON 数据。
我尝试使用选择器抓取数据
response.css("body > pre::text").extract()
但是,这似乎不起作用。不知道怎么回事……
理想情况下,我只想从 JSON 数据中获取所有“名称:XXX”元素。因此,如果您知道如何具体选择那些,那也将非常有帮助!
目前我的代码是这样的
# -*- coding: utf-8 -*-
import scrapy # needed to scrape
import sys # need to import xlrd
sys.path.extend("/Users/YoungFreeesh/anaconda3/lib/python3.6/site-
packages/") # needed to import xlrd
import xlrd # used to easily import xlsx file
class AmazonbotSpider(scrapy.Spider):
name = 'ArchiveSpider'
allowed_domains = ['web.archive.org']
start_urls =['https://web.archive.org/web/20180604230058/https://api.simon.com/v1.2/tenant?mallId=231&key=40A6F8C3-3678-410D-86A5-BAEE2804C8F2&lw=true']
def parse(self, response):
print(response.body)
【问题讨论】:
-
回复:“这似乎不起作用”——不确定这里是否有人读心。不过我可能是错的......
-
我检查了网络日志,它从这个 url web.archive.org/web/20180604230058if_/https://api.simon.com/… 加载 json 文件。两个 url 之间的区别是 'if_'。查看此模式是否与您拥有的其他链接匹配。您可以使用此 hack 来获取您的数据。
-
@SP_ 谢谢!那行得通。
标签: python json web-scraping scrapy python-3.6