详解python使用browsermobproxy获取当前网页xhr的get数据方法

本文详述了如何在Python中利用browsermobproxy抓取xhr请求中的数据,特别是针对get方法的请求。首先,介绍了寻找xhr地址的方法,以抖音为例,展示了在xhr请求中发现目标数据的过程。接着,提供了代码实现步骤,包括安装依赖、配置代理和浏览器,以及解析获取到的JSON数据。最后,文章强调了browsermobproxy使用的一些注意事项和可能的优化策略。
摘要由CSDN通过智能技术生成

前言

很多时候使用爬虫时并不能或许到我们想要的信息,这是因为有些数据是用json代码书写,并通过xhr异步加载到网页。
因此我们并不能在页面中获取,此时可通过解析json代码获取目标信息。


一、如何找到目标xhr地址?

以抖音中的canvas图片信息为例,从下图可以看出,图中有数字出现,但定位到canvas中却并没附带这些数据:
在这里插入图片描述 这个时候我们可以通过查找网络中的xhr请求,找到初始数据的链接,如下图操作,在出现的xhr请求中寻找到目标文件,如果xhr下没有所需数据,可以尝试刷新页面:
在这里插入图片描述
经尝试后不难找到初始数据存放位置,可以看出请求方法为get,从图中很容以看到我们所需要的性别数据:

在这里插入图片描述

在这里插入图片描述
接下来就是用代码实现这一步骤。

二、代码实现

1.准备条件

安装Browsermob-Proxy和chromedriver.exe:

下载Browsermobproxy

下载chromedriver驱动
将下载好后的brosermob-proxy-2.1.4和浏览器对应版本的chromedriver保存至main.py的同级目录下:
在这里插入图片描述

2.编写代码

引入库:

import json#读取json数据时需要用到
import os
import requests
from selenium import webdriver
from browsermobproxy import Server

配置代理环境和chrome浏览器:

path=os.getcwd()#获取当前路径
server = Server(path+"\\browsermob-proxy-2.1.4\\bin\\browsermob-proxy")
server.start()
proxy = server.create_proxy()
chrome_options =webdriver.ChromeOptions(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值