c 抓取网页数据(一下示例代码看起来(2021-09-16我是一个))
优采云 发布时间: 2022-02-15 01:13c 抓取网页数据(一下示例代码看起来(2021-09-16我是一个))
2021-09-16
我是刚加入公司的新人。老板交给我的任务是写剧本。作用是从其他网站中抓取数据,然后在我们的平台上展示。具体业务就不介绍了。主要目的是从其他网站中获取数据。方法是使用 Jsoup 类。这是一个示例代码
Jsoup.connect(REGISTER_URL)
.userAgent(USER_AGENT)
.method(Connection.Method.GET)
这似乎很简单。一开始是去了解HTTP协议,request请求和response响应(我在学校是渣渣,没认真学习= =)。然后开始吧。
我们先来个登录的例子,先打开目标网站,找到登录的地方,这里是一个例子
然后打开抓包工具
(一开始我还是打开了网站的源码,然后去他的按钮提交的url,o(╥﹏╥)o)
软件的操作也很简单,大家可以自行百度。
然后,输入登录信息后,点击登录,查看抓取的数据。然后在脚本、头文件等中写入相应的要发送的数据。可以通过这种方式捕获其他一些功能。
这些都不是这次的重点
有一些功能网站在app上是没有的,所以需要抓取手机app的包,找到需要的接口。
这里举个例子,我们会发现有些参数是加密的,我们需要知道它的加密方式。这里我们可以先调整一个断点,修改请求中的数据,看看数据是不是真的有用的数据(这里想找sign的加密方式,但是找了半天也没找到,然后在前人的指导下使用了断点,方法知道sign的参数可以任意设置,也可以知道是否需要其他参数)。
搜索了一下,发现password参数是有用的(肯定的),然后我们只有一个目标:找到password的加密方式。
我们使用反编译软件对app进行反编译
这里双击 jadx-gui.bat 就可以直接选择要反编译的app文件,反编译出来的工程结构
直接全局搜索密码
然后你必须仔细选择哪些可以被加密。
这里发现密码被插入到JSONObject中,点击查看
看看其他字段和之前请求中的完全一样,那我们来看看aj.a和ia是什么。
找到引用的包
先看ia
发现有一个dX,找到!
这里找到了一个SharedPreferences类,百度一下,它是一个存储类。
大概明白ia的意识,大概率是取出用户输入的密码。
然后找到aj.a
这里发现是直接用MD5算法加密,然后经过aa处理。找到一个
发现是他们自己写的算法。他们不理解也没关系。只需将其复制到自己的项目中即可。
这样就知道密码的加密方式了。先用MD5加密,然后用自己的算法处理,再重复这一步。自己写一个案例测试。
好的~
分类:
技术要点:
相关文章: