巨量算数的数据抓取方法流程

针对字节系的数据抓取涉及到msToken,X-Bogus,_signature,针对于小白都是抓瞎,需要前端页面debug状态找到加密3个参数的位置然后复制下面进行调试。本人操作均已失败告知。

给大家分享一下python selenium + mitmproxy的方式

mitmproxy的步骤:

官网地址进行安装并且启动:mitmproxy - an interactive HTTPS proxy

安装后,编写python api的接口:

py文件名称:addons.py

import mitmproxy.http
from mitmproxy import ctx

class Counter:

text = ''

def request(self, flow: mitmproxy.http.HTTPFlow):
ctx.log.info(flow.request.url)
#写自己的逻辑

def response(self, flow: mitmproxy.http.HTTPFlow):
ctx.log.info(flow.request.url)
# 写自己的逻辑,监听

addons = [
Counter()
]


 

启动方式:mitmweb -s addons.py

启动巨量算数 selenium.webdriver部分:

  第一步创建浏览器对象:driver = webdriver.Chrome()

  第二步get浏览器请求:driver.get("https://trendinsight.oceanengine.com")

    没有登录状态的自动点击登录,在这里的后面可以加上休眠时间

   time.sleep(5) 多少秒自己适当即可

   第三步找到手机号码输入框使用CSS_SELECTOR的方式定位

    然后send_keys填写自己的手机号码

    time.sleep(5) 多少秒自己适当即可

  第四步再用CSS_SELECTOR方式定位获取验证码是一个click()

    time.sleep(5) 多少秒自己适当即可,这里容易出现图形的验证码自己手动选择这样的休眠时间稍微长一些

  第五步手动输入验证码内容

  第六步再用CSS_SELECTOR方式定位登录按钮的click()

  第七步指定自己想要的查询的算数指数关键字

   例如:driver.get("https://trendinsight.oceanengine.com/arithmetic-index/analysis?keyword=%E5%A5%B3%E8%A3%85&tab=crowd&appName=aweme")

这里基本上完事了,不过针对浏览器启动后再次启动查询的话,需要存储一个cookie

 具体方法:driver.get_cookies()

针对mitmproxy和通过selenium.webdriver模拟登录完事了,

最核心的是mitmproxy启动的本地地址和端口:http://127.0.0.1:8080,设置当前电脑的代理

代理设置好后启动selenium.webdriver模拟登录的即可

需要源码的请联系微:cui750426

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值