飞道的博客

JS逆向:猿人学爬虫比赛第十三题详细题解

445人阅读  评论(0)

实战地址

http://match.yuanrenxue.com/match/13

抓包分析

地址栏输入 地址,按下F12并回车,发现数据在这里:

如上分析,这是一个典型的cookie反爬,康康cookie相关的字段是啥:

第一次请求时,返回了一个sessionid的cookie:

第二次请求的cookie是这样的:

由于谷歌浏览器第一次请求看不到结果,因此我推荐用火狐浏览器来进行抓包分析:

可以清楚的看到,第一次请求就是直接设置cookie的JavaScript代码,知道这个以后,可以很快的写出源代码:


   
  1. import re
  2. import requests
  3. session = requests.Session()
  4. headers = {
  5. "User-Agent": "yuanrenxue.project",
  6. }
  7. url =  "http://match.yuanrenxue.com/match/13"
  8. r = session. get(url)
  9. reg = re.compile( "'([a-zA-Z0-9=|_])'")
  10. results = reg.findall(r.text)
  11. cookie =   ''. join(results)
  12. key, value = cookie.split( '=')
  13. session.cookies. set(key, value)
  14. sum =  0
  15. for i in range(1,6):
  16. api_url =f "http://match.yuanrenxue.com/api/match/13?page={i}"
  17. r = session. get(api_url,headers = headers)
  18. data = r.json()
  19. values = data[ "data"]
  20. for value in values:
  21. print ( value)
  22. sum += value[ "value"]
  23. print (sum)

运行后的结果如下:

这个基本没啥难度,对新手来说,是个不错的cookie反爬案例,大概知道什么是cookie反爬,然后就是使用火狐浏览器来进行抓包分析。

主要考察的是正则的使用吧。


转载:https://blog.csdn.net/qq523176585/article/details/109832154
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场