如何获取一个商业网站的数据

一个医药网站,数据接口以前通过post可以获取到数据,现在多了一个加密参数

        url = 'https://dian.ysbang.cn/order-ysb/api/order/getMyOrdersForPCV4/v4090'
        param = {"platform": "pc", "ex1": self.encode_str(), 'page': 1, 'pageSize': 10}
        print(param)
        res = requests.post(url, headers=self.headers, data=json.dumps(param), timeout=10)
        res.raise_for_status()
        res.encoding = res.apparent_encoding
        goods_data = res.json()
        print(goods_data)

报错内容如下:

{'code': '40003', 'message': '获取我的采购单列表失败', 'data': None}

这里面有一个加密参数 ex1,之前我一个朋友过了一个js文件,能够帮我解决,现在又解决不了了

我想获得这个网站的数据,有会的麻烦私信我

需要打开网站,分析js的加密方式,难度较大。
可以使用分析html的方式拿到数据。

你添加代理了吗?

能不能用selenium 直接浏览器页面中获取数据,应该就可以不用加密参数了

你能给个界面截图 我通过浏览器,给你下载一份

https://jishuin.proginn.com/p/763bfbd67a56

应该是接口添加了校验,非登录状态下不让用户获取数据了。你可以通过postman尝试先调用登录接口,然后再调用这个接口试试

直接登录网站,把他请求接口的js拷贝下来,使用它的js文件请求就好了。

有测试账号吗?要爬这个网站需要测试账号,加入药店

可以先登录,获取到账号的session,加到你的请求参数里。

需要具体定位目前是啥问题,如果可以请求接口固然简单;
还有一种办法,就是使用selenium去模拟浏览器请求,获取数据。

采取类似yacy的crawl方式爬html的标记,忽略加密

使用RPA技术吧 简单也高效,不需要去解密

selenium 模拟登陆各种操控即可

直接利用burp抓包工具抓出来就可以

用selenium 无头浏览器解决,里面能完整模拟人为操作,等过了那个js,拿到你想要的数据,比如鉴权token cookie 后你在自己用request请求

js逆向分析一波,找下在哪进行的加密,看能不能扣出来

这是违法行为吧

1、通过python
2、通过八爪鱼
3、通过jsonp
4、通过postman

要不试试用selenium去模拟人对浏览器操作,这样就不会遇到这种反扒了

你去他的网站上看看加密方式是啥,对应着加密就可以啦

img