关于数据抓取不少新人的误区

我的写博客习惯没什么理论偏向于实战html

一.为何我解析数据明明就是这个位置为何拿不到

博问:https://q.cnblogs.com/q/132792/java

错误寻找内容方法:

Element中定位寻找到参数(不少页面能用可是会他并非真正寻找数据的方法)python

正确寻找内容方法:

咱们应该在network页面response寻找咱们须要找的内容算法

正确位置

缘由

Element中是最终渲染后的内容,不必定是咱们get网页url拿到的数据,期间会有些js或者其余数据接口会改变他原始的界面多线程

简单代码

import requests
from lxml.html import etree

url = 'https://www.cosme.net/product/product_id/10189603/top'
res  =requests.get(url) #为何不加请求头呢,人家没校验请求头就不用加了,不过多进程多线程爬取时候请务必和真实请求如出一辙
res_demo = etree.HTML(res.text)
meta_content = res_demo.xpath("//*[@property='og:title']/@content")[0].split('|')[2]
print(meta_content)

二.抓不到包

状况一

证书位置本地校验app

解决方法

adb命令将抓包工具证书从用户目录移动至系统目录,解决反爬对于本地证书认证(点击跳转)python爬虫

状况二

对于抓包工具的监测工具

解决方法

若是是页面:使用network界面抓取学习

若是是app:python爬虫用drony转发进行抓包转发(点击跳转),ProxyDroid+wifi设置抓xx点评抓不到的包(点击跳转)加密

状况三

对于协议进行判断

解决方法

VirtualXposed结合justTrustMe 模块傻瓜式破解app无法抓包问题(点击跳转)

状况四

证书双向认证

解决方法

找到app中证书所在的位置,或者查看他的校验规则

三.关于乱码

缘由:人家是用二进制进行传输常见的是用谷歌传输协议进行传输,大公司可能会本身写一套算法进行加密解析

python谷歌序列化传输(点击跳转)

四.关于加密(现在比较常见的加密)

RSA加密

咱们解析页面或者app反编译后找他公钥的时候找不到他公钥,这时候他加密可能就是经过指数进行加密的

AES加密

关于ASE加密有填充和无填充的识别方法

其实很简单加密通一条加密数据连续2次加密加密内容,key,iv不变的状况,最后输出参数不变就是无填充.就是填充

加密模板

直接拿取用就行了(python模板)(点击跳转)

五.关于app逆向

难点:工具的使用,寻找加密的经验少,C和java要会,so层要用到汇编调试,脱壳,全部呢同窗们先打好基础

hook工具推荐:

frida:容易学,缺点语言比较弱有些位置无法进行hook

yafha:不容易学,相比与frida语言要强有些位置frida无法hook能够用yafha

目前都在卡人数网上的资料不会不少,若是真的要学推荐去看雪论坛吾爱破解学习

也能够在我博客上看,可是细节方面也没写的很到位,我的只用于本身使用

学习连接:python爬虫(学习整理)(点击跳转)

相关文章
相关标签/搜索