首页 > 其他分享 >成功绕过阿里无痕验证码,一键爬取飞瓜数据

成功绕过阿里无痕验证码,一键爬取飞瓜数据

时间:2023-04-30 10:35:51浏览次数:40  
标签:cookies 飞瓜 登录 爬取 cookie https 无痕 page

成功绕过阿里无痕验证码,一键爬取飞瓜数据

飞瓜数据的登录接口,接入了阿里云的无痕验证码;通过接口方式模拟登录,难度比较高。所以,我们使用自动化的方式来实现模拟登录,并且获取到 cookie 数据。

[阿里无痕验证码] https://help.aliyun.com/document_detail/122247.htm

使用 Playwright 库实现自动化模拟登录

  • 打开首页
page.goto("https://dy.feigua.cn//")

  • 点击 右上角登录按钮
page.wait_for_timeout(random.randint(2, 5) * 1000)
page.click("xpath=//div[@class=\"header-btn \"]")

  • 点击 手机登录 Tab 栏
page.wait_for_timeout(random.randint(2, 5) * 1000)
page.click("xpath=//a[@data-logintype=\"phonepwd\"]")

  • 填写 账号、密码, 点击 同意用户协议
page.wait_for_timeout(random.randint(2, 5) * 1000)
page.fill("xpath=//input[@id=\"fb_login_phonepwd_tel\"]", "xxx")
page.fill("xpath=//input[@id=\"fb_login_phonepwd_pwd\"]", "xxx")
page.evaluate("document.getElementById(\"cbAgree2\").checked = true")

  • 点击 确定
page.wait_for_timeout(random.randint(2, 5) * 1000)
page.click("xpath=//a[@id=\"fb_login_phonepwd_btnyes\"]")

  • 把 Cookies 保存下来
page.wait_for_timeout(random.randint(10, 15) * 1000)
cookies = context.cookies()
with open("cookies.txt", "w") as f:
    f.write(json.dumps(cookies))

使用上面保存下来的 cookie 数据,来调用接口。

# 读取 cookies
with open("cookies.txt", "r") as f:
    content = f.read()
    cookies = json.loads(content)

cookie_dict = {}
for cookie in cookies:
    cookie_dict[cookie["name"]] = cookie["value"]

cookies = cookie_dict

# 设置 Header 头
headers = {}

params = {
    "pageIndex": "1",
    "pageSize": "10",
    "period": "day",
    "datecode": "20230419",
    "_": "1681972040924",
}

response = requests.get("https://dy.feigua.cn/api/v1/bloggerrank/growingUpRank", params=params, cookies=cookies, headers=headers)
print(response.json())

数据结果

{
	"Data": {
		"ExportUrl": "/Rank/ExportGrowingUp?tag=全部&period=day&datecode=20230419",
		"RankUpdateTime": "2023/04/20 04:00:00",
		"UpdateTime": "0001/01/01 00:00:00",
		"Total": 1499,
		"TotalStr": "1499",
		"List": [{
			"Rank": 1,
			"Uid": "2120325320935144",
			"Avatar": "https://p6.douyinpic.com/aweme/720x720/aweme-avatar/tos-cn-avt-0015_ba0499e9f25504a69aeca793d5f42838.heic?from=2956013662&$$dyurl=https://logocdn.feigua.cn/BloggLogo/afe3da3d0f8601509733281d4fe572f5.jpg",
			"NickName": "很烦.",
			"BloggerTags": "生活",
			"CustomVerify": "",
			"EnterpriseVerify": "",
			"Platform_Fans": "34.8w",
			"IncFans": "5.5w",
			"IncScore": "253.0",
			"IncLikeCount": "281.2w",
			"BloggerDetailLink": "#/blogger-detail/index?bloggerId=36664750&tab=&ts=1681971184&sign=b676710b12388b81200f6197eb5c25ef",
			"RankNumTipType": 4,
			"RankNumIncVal": 0
		}, {
			"Rank": 2,
			"Uid": "101333617940",
			"Avatar": "https://p3.douyinpic.com/aweme/720x720/aweme-avatar/tos-cn-i-0813c001_3d45ebb95be34ffd90e1c32f69211b6e.heic?from=2956013662&$$dyurl=https://logocdn.feigua.cn/BloggLogo/d837b86e911679384a44c8c93966829f.jpg",
			"NickName": "小鱼末世馆",
			"BloggerTags": "文学艺术",
			"CustomVerify": "",
			"EnterpriseVerify": "",
			"Platform_Fans": "43.7w",
			"IncFans": "25.8w",
			"IncScore": "227.0",
			"IncLikeCount": "34.7w",
			"BloggerDetailLink": "#/blogger-detail/index?bloggerId=11402981&tab=&ts=1681971184&sign=e1a36616a006017a6672917d2a0154b6",
			"RankNumTipType": 4,
			"RankNumIncVal": 0
		}
	},
	"Code": 200,
	"Msg": "",
	"Status": "True"
}

小结

  • 飞瓜数据的登录接口,接入了阿里云的无痕验证码;因此通过接口方式实现模拟登录,难度大。
  • 使用 Playwright 库通过模拟人的行为,进行了自动化的登录操作,最终提取 Cookie。
  • 通过将 Cookie 应用到其他的接口上,可以正常获取到数据。
  • 最后,声明本篇文章仅供学习参考,网络不是法外之地,切勿进行非法用途。
  • 源代码 Github 地址:https://github.com/yxhsea/mock_login/tree/master/feigua

标签:cookies,飞瓜,登录,爬取,cookie,https,无痕,page
From: https://www.cnblogs.com/yxhblogs/p/17364968.html

相关文章

  • 轻松爬取灰豚数据的抖音商品数据
    轻松爬取灰豚数据的抖音商品数据调用两次登录接口实现模拟登录我们分析登录接口,发现调用了两次不同的接口;而且,需要先调用https://login.huitun.com/weChat/userLogin,然后再调用https://dyapi.huitun.com/userLogin接口。登录成功之后,SESSION在第二个接口的Cookie中返......
  • 轻松绕过 Graphql 接口爬取有米有数的商品数据
    轻松绕过Graphql接口爬取有米有数的商品数据有米有数数据的API接口,使用的是一种API查询语言graphql。所有的API只有一个入口,具体的操作隐藏在请求数据体里面传输。模拟登录,获取sessionId调用登录接口,进行模拟登录。cookies={}headers={}json_data={'......
  • 使用爬虫利器 Playwright,轻松爬取抖查查数据
    使用爬虫利器Playwright,轻松爬取抖查查数据我们先分析登录的接口,其中url有一些非业务参数:ts、he、sign、secret。然后根据这些参数作为关键词,定位到相关的js代码。最后,逐步进行代码的跟踪,发现大部分的代码被混淆加密了。花费了大半天,来还原这些混淆加密的代码,但是也没......
  • Python很多时候要从键盘连续输入一个数组,并用空格隔开;Python爬取一些数据;python pip安
    Python要从键盘连续输入一个数组,并用空格隔开,Python中的实现方法如下:str=input(‘以空格为间隔连续输入一个数组:’)然后在键盘中输入,会·得到的str为一个字符串,要将其转为一个列表有两种方法方法一:a=[int(n)forninstr_in.split()]方法二:a=list(map(int,str.strip().sp......
  • 关于文章《爬取知网文献信息》中代码的一些优化
    哈喽大家好,我是咸鱼 之前写了一篇关于文献爬虫的文章Python爬虫实战(5)|爬取知网文献信息 文章发布之后有很多小伙伴给出了一些反馈和指正,在认真看了小伙伴们的留言之后,咸鱼对代码进行了一些优化 优化的代码在文末,欢迎各位小伙伴给出意见和指正 问题pycharm设置......
  • 爬取虎牙直播的直播间名称以及对应的人数
    首先获得数据定位  按F12打开控制台,点击左上角抓取其中一个直播间的主播名称,观看人数同样操作为了使得到的数据名称与观看人数对应,找到最近的闭合标签,图片中最上面的使闭合标签,第一行是主播名称,第二行是直播间观看人数。标签选择执行“就近原则” 爬取内容结构如下 ......
  • 爬取青年大学习
    importrequestsfromlxmlimportetreeurl='http://news.cyol.com/gb/channels/vrGlAKDl/index.html'headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/110.0.0.0......
  • 大众点评美食健身店铺数据爬取
    店铺详情数据QQ165554127......
  • Python无框架分布式爬虫,爬取范例:拼多多商品详情数据,拼多多商品列表数据
    拼多多是中国领先的社交电商平台之一,是一家以“团购+折扣”为主要运营模式的电商平台。该平台上有海量的商品,对于商家和消费者来说都具有非常大的价值,因此,拼多多商品数据的采集技术非常重要。本文将介绍拼多多商品数据的采集技术。一、拼多多商品的数据结构拼多多的商品数据包含了......
  • pathon爬虫实战——爬取某网站的多页番剧内容
    (本博客只为技术分学习,无其他用途) 1.准备涉及的第三方库如下: 2.网页分析2.1检验网页1.运行浏览器,打开网页,按快捷键F12打开开发者工具,F5刷新页面2.在右侧点击Network,打开browser?sort=rank&page=1文件,可以看到各种信息,查看表头 3.获取Cooki和User-Agnet,准备伪......