Scrapy:如何在页面中刮取一个表格,该表格仅在按钮"显示更多"被点击几次?

时间:2016-12-17 16:01:06

标签: python scrapy web-crawler screen-scraping

我正在使用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数据的页面不同)

0 个答案:

没有答案