php抓取网页动态数据(动态网页网页用XHR局部获取数据,需要动态抓取网页发起的请求)

优采云 发布时间: 2022-04-08 23:01

  php抓取网页动态数据(动态网页网页用XHR局部获取数据,需要动态抓取网页发起的请求)

  动态网页

  网页使用 XHR 在本地获取数据。要捕获此类数据,您需要找到 XHR URL。此类 URL 通常收录令牌,这些令牌将在一段时间后过期。因此,需要动态抓取网页发起的请求。

  1

2

3

  XHR含有Token的URL

https://****/****?Id=5&token=99aeacc27dc64c1124f1e25dc0666c10

  剧作家

  PlayWright是微软开发的一款浏览器模拟神器,其中Network Event可以监控网页发送的请求和响应。

  

  稍微修改代码以满足您的需求

  只*敏*感*词*响应,如果response.url收录关键字,输出对应的url

  1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

  from playwright.sync_api import sync_playwright

def run(playwright) -> None:

# browser = playwright.chromium.launch(headless=False)

browser = playwright.chromium.launch()

context = browser.new_context()

# Open new page

page = context.new_page()

# page.on("request", lambda request: print(request.url))

page.on("response", res)

# Go to

page.goto("https://****/****")

# ---------------------

context.close()

browser.close()

def res(res) -> None:

if "id" in res.url:

print(res.url)

with sync_playwright() as playwright:

run(playwright)

  后续PowerBi支持调用Python返回数据集。 response.json()可以返回json格式的数据,导入pandas返回PowerBi,应该可以直接获取数据集。 PlayWright 支持 C#,理论上应该可以使用 VSTO 将数据返回给 EXCEL。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线