当前位置: 首页 > news >正文

白城网站建设哪家好如何制作app图标

白城网站建设哪家好,如何制作app图标,东莞网站维护,项目计划书模板范文 完整版前言有点忙#xff0c;没空写东西#xff0c;这是之前写的#xff0c;加了些配图而已 这次要爬的网站是百度指数 正文 一、分析 打开网站(百度指数)#xff0c;呈现出来是这样的 如果搜索的话就需要登陆了#xff0c;如果没有什么特别频繁的请求的话#xff0c;直接登陆复…前言有点忙没空写东西这是之前写的加了些配图而已 这次要爬的网站是百度指数 正文 一、分析 打开网站(百度指数)呈现出来是这样的 如果搜索的话就需要登陆了如果没有什么特别频繁的请求的话直接登陆复制Cookie就完事了 这里以 酷安 为例搜索 这一栏是选择时间范围的拖拽它能将范围选择更广 我将其拖拽至2011调试窗口可以看到请求是个GET请求参数有四个除了 area 其他的都很好理解 切换到 Preview 预览窗口通过分析个人认为比较可疑的几个Key有这些uniqid、all、pc、wise、data 其中data可以看到应该是加密了的all是表示全部数据pc是指pc端wise是移动端这些可以在js文件里找到首先先搞清楚这个像加密了的data是怎么解密的我们现在知道这个数据是json格式那么它处理肯定要从中取出这些data所以重新刷新一下网页目的是为了让所有js都能加载出来然后利用搜索功能从中找。搜索过程就不上图了我是搜索 decrypt找到的首先我用decrypt找到了一个js文件其中有一个名为decrypt的方法 这个js文件中有很多decrypt的搜索结果在不知道多少行处找到了一个名为 fetchThrendIndexLive 的方法这个方法名用我工地英语翻译为 获取趋势指数 这里调用了名为decrypt的方法是不是上面那个我不知道 这次我不打算用charles的替换js文件功能了直接用浏览器的调试功能console就行了 右键js的请求Open in Sources panel 直接在这里下断点然后刷新页面 在这停顿后可以看到两个参数的内容 想要知道这两个参数是什么很简单回到Network看请求里的json其中e参数是datat参数不太清楚是什么。for循环里第一步是先将t字符串按单个字符分割返回的列表保存在n变量里 然后将e也按单字符分割保存到i变量里 a是一个字典r是一个列表 从右边的 Scope 中可以看到 以t的字符长度遍历a中key为t遍历的字符a中value为从t中按索引取的值其中索引为t的字符长度除2后加上当前遍历的索引a[n[o] n[n.length/2 o]) 这里始终没有用到i也就是我们能获取到的data这个i在第二个循环中才被用到 第二个循环是遍历e结果保存在r列表里这里的遍历很容易就看得懂。。我就不分析了自己都头晕直接用python抄一遍就行了 最后是将r列表里的内容合并为一个字符串然后返回 二、整理思路 解密 方法对应python代码为 def decrypt(t,e): n list(t) i list(e) a {} result [] ln int(len(n)/2) start n[ln:] end n[:ln] for j,k in zip(start, end): a.update({k: j}) for j in e: result.append(a.get(j)) return .join(result) 完全照搬。。可能有写地方可以简化但我懒得去处理了最后返回的是这个玩意儿 python运行结果 到这可能都觉得已经解决了可你不知道t这个参数是什么怎么来的这里我就不带各位分析了你么可以自己尝试分析分析我直接说结果之前我就指出了几个可疑的东西其中uniqid在获取t参数需要用到这个t其实是叫ptbk获取这个ptbk的urlhttp://index.baidu.com/Interface/ptbk?uniqid 有一个参数uniqidGET请求返回json内容 获取uniqid和data的urlhttp://index.baidu.com/api/SearchApi/thumbnail?area0word 如果要指定日期只需要在word后面追加startDate、endDate就行 所以可以明确一下思路:1、通过url获取uniqid和data 2、通过uniqid获取ptbk 3、通过ptbk和data解密 解密后的东西就是我们要的数据 三、代码部分 完整代码 import requests import sys import time word_url http://index.baidu.com/api/SearchApi/thumbnail?area0word{} COOKIES def decrypt(t,e): n list(t) i list(e) a {} result [] ln int(len(n)/2) start n[ln:] end n[:ln] for j,k in zip(start, end): a.update({k: j}) for j in e: result.append(a.get(j)) return .join(result) def get_index_home(keyword): headers { User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36, Cookie: COOKIES } resp requests.get(word_url.format(keyword), headersheaders) j resp.json() uniqid j.get(data).get(uniqid) return get_ptbk(uniqid) def get_ptbk(uniqid): url http://index.baidu.com/Interface/ptbk?uniqid{} ptbk_headers { Accept: application/json, text/plain, */*, Accept-Encoding: gzip, deflate, Accept-Language: zh-CN,zh;q0.9, Cache-Control: no-cache, Cookie: COOKIES, DNT: 1, Host: 百度指数, Pragma: no-cache, Proxy-Connection: keep-alive, Referer: 百度指数, User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36, X-Requested-With: XMLHttpRequest, } resp requests.get(url.format(uniqid), headersptbk_headers) if resp.status_code ! 200: print(获取uniqid失败) sys.exit(1) return resp.json().get(data) def get_index_data(keyword, start2011-01-03, end2019-08-05): url fhttp://index.baidu.com/api/SearchApi/index?word{keyword}area0startDate{start}endDate{end} headers { Accept: application/json, text/plain, */*, Accept-Encoding: gzip, deflate, Accept-Language: zh-CN,zh;q0.9, Cache-Control: no-cache, Cookie: COOKIES, DNT: 1, Host: 百度指数, Pragma: no-cache, Proxy-Connection: keep-alive, Referer: 百度指数, User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36, X-Requested-With: XMLHttpRequest, } resp requests.get(url, headersheaders) if resp.status_code ! 200: print(获取指数失败) sys.exit(1) data resp.json().get(data).get(userIndexes)[0] uniqid data.get(uniqid) ptbk get_index_home(uniqid) while ptbk is None or ptbk : ptbk get_index_home(uniqid) all_data data.get(all).get(data) result decrypt(ptbk, all_data) result result.split(,) print(result) if __name__ __main__: get_index_data(酷安) 输出: END 转载请注明出处
http://www.yutouwan.com/news/228506/

相关文章:

  • 外网访问wordpress全站路径设置淘宝网站开发系统
  • 网站管理规定包头 网站建设
  • asp网站连不上数据库无锡网页网站制作公司
  • wordpress调用评论数怎么优化网站源码关键词
  • 有没有如何做网站的书专业的医疗行业网站模板
  • 外贸公司网站开发制作公司网页官网
  • 陕西西安网站建设公司做网站设计的电话
  • 建立网站三大基础wordpress中文乱码
  • 松江九亭网站建设开发一个app有哪些好处
  • 网站建设出现乱码是怎么回事会计培训机构排名
  • 漯河做网站电子商务毕业设计网站建设业务
  • 如何查询网站建立时间网站开发需求分析包括哪些方面
  • 12380网站建设情况网站静态和动态
  • 做网站搭建环境百度联盟一天多少收入
  • 织梦dedecms女性时尚门户网站模板北京外企人力资源服务有限公司
  • 仿门户网站网络营销思路
  • 织梦网站需要付费吗国外网站如何做seo
  • 百度地图网站后台更新能发外链的网站
  • 东莞营销型高端网站建设手机中国建设银行网站
  • 杭州app网站设计怎么创作一个软件
  • 做英文小说网站化工企业网站jsp
  • 网站注册需要什么网站用ai做还是ps
  • 制作网站的步骤和方法广西展厅设计公司
  • 境外网站不备案盈利做解密类网站可行
  • 网站建设和网页设计视频教程图文排版模板
  • 微信网站制作教程番禺网站建设a2345
  • 网站角色管理健身器材 网站模版
  • 石家庄市建设南大街小学网站网站建设wang.cd
  • 安康做网站公司微孝感网站建设
  • 网站后台 灰色网站建设费缴税