Power Query 网络抓取中的Cookie与token

很多网友都对这个感兴趣,对于需要验证的网站,怎么抓取数据,今天就举一个例子,问财输入关键字之后会有一个结果显示出来,但是你要看更多结果的时候就需要通过手机短信验证,这就是一个典型的需要验证的网站。

网站分析:

输入图片验证码与短信验证码之后,就会有一个cookie生成,同时也会有一个token,需要注意的是这两个都是有时效性的,如果cookie与token失效,需要刷新页面重新生成新的cookie与token。

Power Query 网络抓取中的Cookie与token

既然要用到cookie与token我们就不能像匿名抓取时用一整串的网址修改参数来抓取了,其实道理是一样的,不过就是按照record的形式来书写。

定义抓取函数:

为什么不试抓了,而是先定义函数?因为我们不能再像匿名抓取那样,用url就能直接出结果,没有cookie与token是不能获得正确结果的。

Power Query 网络抓取中的Cookie与token

截图可能看不太清楚,代码贴在下面:

let

get_data=(page,token,cookie)=>

let

url="http://www.iwencai.com/stockpick/cache",

headers=[Cookie=cookie],

content="",

query=[token=token,p=Text.From(page),perpage="30",showType="[%22%22,%22%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22,%22onTable%22]"],

web_data=Web.Contents(url,[Query=query,Headers=headers,Content=Text.ToBinary(content)])

in

web_data

in

get_data

我们用了三个参数:

试抓:

根据三个参数来试抓一下单页面:

Power Query 网络抓取中的Cookie与token

试抓结果我们直接用JSON解析:

Power Query 网络抓取中的Cookie与token

result就是我们想要的查询结果,对应的表头名称是oriIndexID。

抓取

我们查询的是涨停板数据一共有三页:得到三条记录。

Power Query 网络抓取中的Cookie与token

展开记录留下数据与表头:

Power Query 网络抓取中的Cookie与token


展开数据,自定义列生成记录,相当于一个股票代码一条记录:

Power Query 网络抓取中的Cookie与token

删除前两列,展开记录就得到我们想要数据了。

Power Query 网络抓取中的Cookie与token

大家可以试试,看看能不能够顺利抓取想要的数据。

Power Query 网络抓取中的Cookie与token

@摆渡者I

展开阅读全文

页面更新:2024-05-21

标签:表头   涨停板   时效性   页码   问号   截图   函数   定义   参数   页面   短信   网址   数据   最新   科技   网站   网络

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top