爬虫获取淘宝等电商历史价格,分析资源网站实现本地重建(仅供个人学习)

1.分析网站数据接口

网站通过访问接口history.aspx获取数据
爬虫获取淘宝等电商历史价格,分析资源网站实现本地重建(仅供个人学习)_第1张图片
接口必要参数
其中url是处理后的商品地址,token是加密后的参数

 data = {
        'DA': '1',
        'action': 'gethistory',
        'url': url,
        'token': token,
    }
    

发现加密网址获取token的地方
爬虫获取淘宝等电商历史价格,分析资源网站实现本地重建(仅供个人学习)_第2张图片
获取后的加密js
爬虫获取淘宝等电商历史价格,分析资源网站实现本地重建(仅供个人学习)_第3张图片
获取数据
爬虫获取淘宝等电商历史价格,分析资源网站实现本地重建(仅供个人学习)_第4张图片

2.分析网站图表加载

加载图表的函数
flotChart.chartNow(json.datePrice, json.spUrl, “pc”);

图表所需div

<div id="container"></div>

3.本地重建

爬虫获取淘宝等电商历史价格,分析资源网站实现本地重建(仅供个人学习)_第5张图片
因为不能跨域请求所以通过后台访问数据接口
爬虫获取淘宝等电商历史价格,分析资源网站实现本地重建(仅供个人学习)_第6张图片

4.token获取源码

源码获取传送门

=========================================================

5.网站更新

最近发现网站更新了,请求接口的参数和接口什么的都变了,本来想花点时间研究通,可是因为上班时间不够就只弄了一半。
爬虫获取淘宝等电商历史价格,分析资源网站实现本地重建(仅供个人学习)_第7张图片
生成token和Authorization所需的值,获取了id="ticket"的value
爬虫获取淘宝等电商历史价格,分析资源网站实现本地重建(仅供个人学习)_第8张图片
id=“ticket”
在这里插入图片描述
我暂时没弄清楚这个ticket标签是通过什么方式注入的值,所以直接通过后台java爬虫获取网页中最新的该标签值,然后传到我的项目前端

    @RequestMapping("/index")
    public String index(Model model) throws IOException {
        Document document = Jsoup.connect(OIL_PRICE_URL).get();
        Elements ticket = document.select("#ticket");
        String value = ticket.attr("value");
        System.out.println(ticket);
        System.out.println(value);
        model.addAttribute("token",value);
        return "index";
    }

爬虫获取淘宝等电商历史价格,分析资源网站实现本地重建(仅供个人学习)_第9张图片
通过调用js获取需要的所有参数
爬虫获取淘宝等电商历史价格,分析资源网站实现本地重建(仅供个人学习)_第10张图片
老规矩不能跨域请求,将参数传回后端去请求数据

    @RequestMapping("/getData")
    @ResponseBody
    public String getData(@RequestBody Parameter param) throws Exception {
        String URL = "https://tool.manmanbuy.com/api.ashx";
        Map<String, String> map = beanToMap(param);
        return post(URL,map);
    }

爬虫获取淘宝等电商历史价格,分析资源网站实现本地重建(仅供个人学习)_第11张图片

你可能感兴趣的:(python,java)