首页 > 编程语言 >【C#爬虫】使用C# 进行bing翻译爬取

【C#爬虫】使用C# 进行bing翻译爬取

时间:2022-11-07 17:33:37浏览次数:65  
标签:请求 C# bing 爬取 编辑 token key IG 页面

 首先我们打开bing翻译页面 并将浏览器控制台打开

​编辑

然后在文本框随便输入 看右侧工作台中网络里面请求的变化 经过多次输入

​编辑

可以看到每次输入字符后 都会触发这几个请求 如此我们范围可以缩小到这三个请求上

首先从他们三个返回值上入手

​编辑

不难看出第一请求 https://cn.bing.com/ttranslatev3? 的返回值就是我们需要的 需要的数据,

接下来便看请求参数

​编辑

 接下来麻烦事就是找到这些请求值产生的地方 这些请求值中 

通过缓存清理和postman 测试提交  isVertical 和iid 目前是固定的没有任何变化(其实本人懒,懒得去找!)

剩下 IG,fromlang,text,to,token,key几个参数 不难分析 fromlang,text,to 分别对应

当前待翻译的字符串语言 、待翻译的文本和需要翻译的目标语言

所以 最终我们需要找的的就是IG、Token和key

而刚开始我们打开网络的时候就可以看出 页面和css加载完成后

​编辑

有一条请求携带了IG 通过这台信息 很大几率IG 可能在页面中 

这个时候直接查看页面源码  通过IG值搜索 发现两天 而且两条变量名 都是IG 证明我们的猜测成立

​编辑

 接下来 需要找到的值 也只剩下token 和key了

通过搜索token值 发现指向到translator页面

​编辑

 此时到源代码页面搜索token值 发现token 存在 

​编辑

 那么接下来剩下key值,但细心的人会发现 token 值前面的值很像key值 

经过对比证实了我们猜想 没有想到在寻找token的时候就顺带找到key值,所以我们得在找结果需要细心处理和观察,如此我们需要的值全部拿到,同时丢到apifox

​编辑

请求能通过 多次测试刷新页面 拿到 token、key和ig 值 请求皆能通过

如此接口也成功拿下

下面开始写C#请求代码

首先拉页面获取token,ig,key这里使用HttpClient类库

​编辑

然后通过字符串正则处理 拿到这三个值(本人正则写的孬,不好意思展示)

后面仿照请求 去真正翻译接口 注意请求类型是 application/x-www-form-urlencoded

​编辑

 另外 user-agent 记得带上 ua  ua获取浏览器随便打开一请求找到请求表头 里面user-agent

复制值拿来用就行了

 

至此我们bing翻译爬虫程序已经完成

(第一次写文章,技术有限 写的不好 请大家见谅!)

标签:请求,C#,bing,爬取,编辑,token,key,IG,页面
From: https://www.cnblogs.com/boolshow/p/16866741.html

相关文章