我正在使用Scrapy废弃一个列出某些特定数据的网站,但是有一个按钮显示更多需要多次点击,直到数据全部完成。
网页的网址:
www.websiteiamscraping.com/data/sheet/historical?s=MSA:CAS
当我点击“显示更多”按钮时,此处显示的是发送的网址:www.websiteiamscraping.com/data/ajax/getmorehistoricalsheets?StartDate=42598&s=MSA%3ACAS&isLRS=false
(每次点击按钮时 StartDate 参数都会更改)
并在JSON对象中以HTML格式返回附加数据,但HTML数据似乎与ASCII符号混合,如:55.21k\u003c/span\u003e
我的代码如下:
class DataSpider(scrapy.Spider):
name = "data"
start_urls = [
'www.websiteiamscraping.com/data/sheet/historical?s=MSA:CAS'
]
def parse(self, response):
page = response.url.split("=")[1].split(":")[0]
filename = 'data-%s.html' % page
with open(filename, 'wb') as f:
f.write(response.body)
问题:如何在我想要的页面中加载所有数据(我报废的页面与获取JSON数据的页面不同)