python:如何对付无理取闹不给数据的浏览器,让它乖乖把数据交出来~

别再死记硬背了!用这5个Qt Design Studio小项目,彻底玩转核心组件 本文通过5个Qt Design Studio实战项目,帮助开发者深入理解核心组件的协作与应用。从动态登录界面到游戏化任务列表,每个项目都展示了组件属性与交互设计的巧妙结合,让你不再死记硬背,而是真正掌握Qt Design Studio的核心技能。 阅读详情

前言

有时候我们些代码是总发此疑惑?

为什么别人采集 xx 网站的时候能成功,而我却总是不返回给数据

出现这种原因时往往是我们没有给够伪装, 被识别了出来~

就像人,你出门肯定是要穿衣服的对不,如果你不穿!

走在外面,肯定是最显眼的一个,不抓你抓谁

还有一种就是明明我之前运行成功了,为什么我现在再次运行时就不行了呢~

而且还甩一句话给我 “系统检测到您频繁访问,请稍后再来”

对于这种情况,我也有一个比喻:

某些文里往往会有这样的霸总,能一夜七次或一次七天,咳咳

总而言之就是对方受不了,发现你不是它的良人,并把你加入了黑名单~

好啦!现在咋们正经的来介绍一下面对此种情况该如何处理~

要会伪装,要想想看,人是怎么访问网站的

这次我们来说说伪装 Header ,当你要去爬取某个网站的数据的时候

你要想想看,如果是别人爬取你的数据,你会做什么操作

你是不是也不想,让别人随随便便就疯狂请求你的服务器

你是不是也会,采取一定的措施

比如,我有一个网站,你分析到了我的地址

当你想要通过 python 来爬取的时候…

这边我来写一个简单的可以被请求的例子

from flask import Flask

app = Flask(__name__)


@app.route('/getInfo')
def hello_world():
    return "这里假装有很多数据"


if __name__ == "__main__":
    app.run(debug=True)

👈更多详情左侧主页了解哦~

ok ,假设你现在分析到了我的地址了,

也就是可以通过 /getInfo 就可以获取到数据了

你感觉很爽,就开始请求了

 url = 'http://127.0.0.1:5000/getInfo'
    response = requests.get(url)
    print(response.text)

没错,这个时候你确实获取到数据了

但是!我觉得有点不对劲了,想看看请求的 header 信息

@app.route('/getInfo')
def hello_world():
    print(request.headers)
    return "这里假装有很多数据"


if __name__ == "__main__":
    app.run(debug=True)

结果看到的 headers 信息是这样的

Host: 127.0.0.1:5000
User-Agent: python-requests/2.21.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive

哇靠

👈更多详情左侧主页了解哦~

User-Agent: python-requests/2.21.0

居然使用 python 的库来请求,你说我不封你封谁呢?

所以我这个时候进行判断,就获取不到数据了

@app.route('/getInfo')
def hello_world():
    if(str(request.headers.get('User-Agent')).startswith('python')):
        return "系统检测到您频繁访问,请稍后再来"
    else:
        return "这里假装有很多数据"


if __name__ == "__main__":
    app.run(debug=True)

你这个时候的请求

if __name__ == '__main__':
    url = 'http://127.0.0.1:5000/getInfo'
    response = requests.get(url)
    print(response.text)

得到的结果就是

“系统检测到您频繁访问,请稍后再来”

你已经在我面前暴露了,想重新再来,那么怎么办呢?

伪装自己呗,python 不可以访问

浏览器可以访问呀,所以你可以修改你的请求头

先在浏览器访问,然后在抓取数据的时候获取到 Header 数据

当然你也可以使用 Chrome 的控制面板获取 Header

有了 Header 信息之后,就可以使用 requests模块轻松获取

恩,现在的你学会假装自己是浏览器了


if __name__ == '__main__':

    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'
    }

    url = 'http://127.0.0.1:5000/getInfo'
    response = requests.get(url,headers=headers)
    print(response.text)

再获取一次可以发现,返回的是

这里假装有很多数据

ok,你又获取到数据了

好啦,这篇文章就到这里啦~对你有帮助就点赞收藏一下吧!

👈更多详情左侧主页了解哦~

基于 Cognex VisionPro 的工业级图像匹配技术全解析 通过本文的深度解析,开发者可以系统掌握 Cognex VisionPro 图像匹配技术的核心原理、开发流程、优化策略及工业级应用。实际项目中,需结合具体场景灵活调整参数,综合运用预处理、特征提取和匹配算法,构建稳定可靠的视觉系统。 阅读详情

相关推荐

告别WSL!用AMD ROCm7在Windows上跑ComfyUI,我的幻x2025 AI Max+ 395体验与性能调优心得

本文详细介绍了在搭载AMD Ryzen AI Max+ 395处理器的幻x2025笔记本上,如何通过ROCm7在Windows原生环境下高效运行ComfyUI,并分享了一系列性能调优技巧和实战经验,帮助开发者摆脱WSL束缚,提升AI创作效率。

weixin_29102619的博客 1116

python中打开谷歌浏览器遇到的Chrome version不匹配问题

This version of ChromeDriver only supports Chrome version 851、查看版本信息①打开文件位置②查看版本2、下载对应版本的驱动①选择对应自己chrome版本的驱动②解压缩3、找到python下的chrome驱动并替换 在编写代码时打开chrome出现问题,只支持85版本 1、查看版本信息 只需点开自己的chome查看版本信息,具体操作如下: ①打开文件位置 ②查看版本 右键点击打开属性,查看版本信息 2、下载对应版本的驱动 ①选择对应自己chrom

qq_50828712的博客 1073

LabVIEW事件结构避坑指南:为什么你的‘确定按钮’事件有时会失灵?

本文深入探讨了LabVIEW事件结构中'确定按钮'事件失灵的常见原因及解决方案。从事件队列机制到事件类型选择,详细分析了事件丢失的五大原因,包括事件处理耗时过长、事件类型选择不当等,并提供了优化登录界面案例的实用建议。掌握这些技巧可显著提升LabVIEW用户界面的响应可靠性。

weixin_42548888的博客 355

python不等待返回,如何从python调用程序,而不用等待它返回

is there a way to call a program from python without waiting for it to return? i created a script which copies a program to a directory and runs that program. but when i call the program from python, ...

weixin_35759767的博客 877

ROS2进程内通信:零拷贝Intra-Process原理与实战

Intra-Process通信是ROS2实现低延迟节点间数据交换的核心机制,其本质是通过C++17智能指针与零拷贝共享内存,在同一进程内绕过序列化、系统调用和上下文切换。相比传统DDS跨进程通信,它将`geometry_msgs::Twist`类消息延迟从42μs降至0.8μs,显著提升机器人实时控制性能。该技术并非自动启用,需满足同执行器、QoS严格匹配、内存所有权明确三大约束,适用于机械臂控制、视觉SLAM、图像处理流水线等对端到端延迟敏感的场景。本文聚焦ROS2原生Intra-Process通讯的原理

weixin_30619101的博客 364

硬件工程师笔记——三极管Multisim电路仿真实验汇总

NPN型三极管:由N型半导体、P型半导体和N型半导体组成,即NPN结构。 PNP型三极管:由P型半导体、N型半导体和P型半导体组成,即PNP结构。 三极管的工作原理基于电流的控制和放大,其核心是基区对电流的控制作用。 将三极管等效为两个串联的二极管进行等效分析

XU157303764的博客 2637

当我敲代码时,女朋友无理取闹怎么办?带上她一起学习编程

但并不能代表女生学不好大数据,相反,和男生比较来看女生身上有更多尚未被激发的潜质男生也许有一些先天的优势,如理性思维更强,数学天赋更高,对数字更加的敏感,但入门的发展潜力并不能代表会在未来工作中就比女生做得更好。刚上大学或马上毕业的或者想转行的同学们如果看到了这里,应该早做步入大数据行业的准备,“快人一步”才是在社会上立足的优势。学习大数据技术其实不仅是对于自身学识的提升,同时也是对于未来前瞻性的展望。这里把Python常用的技术点做了整理,有各个领域的知识点汇总,可以按照上面的知识点找对应的学习资源。

Python栈_基的博客 161

完整复现YOLOv8:包括训练、测试、评估、预测阶段【本文源码已开源,地址在文章末尾】

(这里主要是在colab.research.google.com实现的,本地的配置也是类似的方法)YOLOv8是一种用于目标检测的深度学习算法。主要参考:https://github.com/ultralytics/ultralytics/blob/main/README.zh-CN.md。yolov8的权重:https://github.com/ultralytics/assets/releases。yolov8的文档:https://v8docs.ultralytics.com/

源代码杀手的博客 1万+

python题型_python--题型做法总结

#1. 变量名规范(3分)#答案:数字字母下划线,数字不能放在前,不能使用python关键字#2. 字节和位关系(2分)#答案:1字节等于8位#3.看代码写结果(2分)name = “wupeiqi” result = name.upper() //将英文字母大写print(name)print(result)#结果:wupeiqi WUPEIQI#4.“李泉”使用utf-8编码时,占用...

weixin_39612817的博客 433

[EdgeAI] NXP eIQ 机器学习Toolkit (一):准备篇

eIQ™机器学习(ML)软件开发环境支持在恩智浦EdgeVerse™微控制器和微处理器(包括i.MX RT跨界MCU和i.MX系列应用处理器)上使用ML算法。eIQ ML软件包括称为eIQ Toolkit的ML工作流工具以及推理引擎、神经网络编译器和优化库。............

HowieXue 薛永浩的博客 1万+

自然语言处理NLP星空智能对话机器人系列:Gavin大咖 Transformer 101问答集 第一问

自然语言处理NLP星空智能对话机器人系列:Transformer 101问答 [让天下没有难学的Transformer] 你问我答系列之一 Gavin大咖第一问: Transformer中的可训练Queries、Keys和Values矩阵从哪儿来? 以上是智华解答,供同学们参考。 星空智能对话机器人系列博客 NLP星空智能对话机器人系列:第二次星空智能对话机器人Zoom线上演示安排 NLP星空智能对话机器人系列:StarSpace: Embed All The Things NLP星空智能对

大模型与Agent智能体 991

python09

1. 什么是函数 2. 函数定义,函数名,函数体以及函数的调用 3.函数的返回值 4. 函数的参数 一.什么是函数 我们可以去先去定义一个事情或者功能.等到我们需要的时候直接去用就好了.那么这里定义就是一个函数. def yue(): print("拿出手机") print("打开陌陌") print("找一找心怡的对方...

dideng7411的博客 175

innovus中如何设置cts参数

上面是设置cts的一般设置,如果需要对某些skew group或者某些clock tree设置不一样的参数,如需要对clk1这个clock设置不一样的inverter,可以使用。需要查询已经设置过的ccopt参数,可以使用get_ccopt_property去查询,方法和set_ccopt_property一致。言归正传,cts的设置命令是set_ccopt_property,获取命令是get_ccopt_property。另外,set_ccopt_property提供一套命令查询方法。

芯冰乐 546

c+和python先学哪个比较好-python和c,应该先学哪个?

Python和C哪个更好学成熟最大的好处是:以前得不到的,现在不想要了。当看破一切的时候才明白,原来失去比拥有更踏实。C语言是大学生接触的第一门编程语言,它的重要性也是不言而喻的。 有些关系,走到一定程度会停住吧,那别挽留了,终究是要走的。C语言是一个面向过程的编程语言,而Python是一门面向对象的计算机解释型程序原因。 有种女孩子很适合你,她不追问你去哪儿了,不无理取闹,不动不动就吃醋,不会粘...

weixin_37988176的博客 8159

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

python中字典的常用函数_python 字典中取值的两种方法小结 Python字典中几个常用函数总结...

python 提取列表里面字典中取得该列表中两个key健alist = [{'map': {'totalCli': 94, 'abc': ' 为什么要用python, 'zhandilist 在python是关键字,不要用它做变量名,小编这里改了下: list_0 = [{'map': {'totalCli': 94, 'abc': ' 为什么要用python', 'zhandian':生活本来很...

weixin_39712455的博客 1306

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

python同步赋值语句 两个变量值的交换_python文本交换 Python中交换的值的问题

想用python将一个文本文件中的内容交换一下,怎么写?比如文件内容: a ;b 交换下a和b起点可以相同,但是选择了不同的拐点,终点就会大大不同!python 文本文件 格式转换 行列 位置 调换file_in.txt file_out.txt 处理要分享: 用python写一个脚本程序,将file_小编始终相信一句话:只有自己足够强大,才不会被别人践踏。Step by step: #。/usr...

weixin_39867662的博客 789

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

2024年Python最全我用python爬取了知乎Top沙雕问题排行榜

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

2401_84562041的博客 854

我用python爬取了知乎Top沙雕问题排行榜

看来这些问题大多是源自于大家对于人生的探索,否则“为什么”,“如果”,“怎么办”也不会出现那么多,出人意料的是“体验”这个知乎专属tag居然并不多,可能是出于对知乎的尊重,和“体验”相关的问题都不会问得那么“沙雕”。这个图看来,读者关注的问题还是很极端,一方面在关注男女朋友“你冷酷、你无情、你无理取闹”这种问题,另一方面却在关注宇宙、地球这种关乎全人类的问题,很符合知乎“人均985,各个过百万”的人设。不知道大家能不能看清,说实话我自己是看不清的,也没准备让大家看清,目的就是引出下面真正的排行榜。

2401_84010414的博客 838

python和c先学哪个-python和c,应该先学哪个?

Python和C哪个更好学成熟最大的好处是:以前得不到的,现在不想要了。当看破一切的时候才明白,原来失去比拥有更踏实。C语言是大学生接触的第一门编程语言,它的重要性也是不言而喻的。 有些关系,走到一定程度会停住吧,那别挽留了,终究是要走的。C语言是一个面向过程的编程语言,而Python是一门面向对象的计算机解释型程序原因。 有种女孩子很适合你,她不追问你去哪儿了,不无理取闹,不动不动就吃醋,不会粘...

q6q6q的专栏 628

python和c一起学_python和c,应该先学哪个?

Python和C哪个更好学成熟最大的好处是:以前得不到的,现在不想要了。当看破一切的时候才明白,原来失去比拥有更踏实。C语言是大学生接触的第一门编程语言,它的重要性也是不言而喻的。 有些关系,走到一定程度会停住吧,那别挽留了,终究是要走的。C语言是一个面向过程的编程语言,而Python是一门面向对象的计算机解释型程序原因。 有种女孩子很适合你,她不追问你去哪儿了,不无理取闹,不动不动就吃醋,不会粘...

weixin_39876650的博客 124

c语言和python先学哪个-python和c,应该先学哪个?

Python和C哪个更好学成熟最大的好处是:以前得不到的,现在不想要了。当看破一切的时候才明白,原来失去比拥有更踏实。C语言是大学生接触的第一门编程语言,它的重要性也是不言而喻的。 有些关系,走到一定程度会停住吧,那别挽留了,终究是要走的。C语言是一个面向过程的编程语言,而Python是一门面向对象的计算机解释型程序原因。 有种女孩子很适合你,她不追问你去哪儿了,不无理取闹,不动不动就吃醋,不会粘...

weixin_37988176的博客 521

30岁的我,裸辞、自甘堕落、重回生活:成功转行Python工程师,月入1W+

1个多小时完成的裸辞 2021年8月28日,我从深圳一家民办学校离职了。当时是裸辞,自己不想再拖一个月,就跟学校商量,8月份的基本工资2200,我不要了。 学校领导答应得很爽快, 一个多小时就走完了所有的程序,从上午10点到11点,我正式成了待业青年。 对于自己的裸辞,主要有四个原因: 首先是个人原因:自己的喉咙沙哑了,去医院检查为声带小结。办公室里有11名教师,声音都是沙哑的,我不想失去自己的声音。 自己那段时间胸口疼痛,晚上时常失眠到天亮,一学期去了好几次医院打吊瓶,在暑假期间,自己每天都在担忧开学。

Python_cocola的博客 1609

python和c 先学哪个-python和c,应该先学哪个?

Python和C哪个更好学成熟最大的好处是:以前得不到的,现在不想要了。当看破一切的时候才明白,原来失去比拥有更踏实。C语言是大学生接触的第一门编程语言,它的重要性也是不言而喻的。 有些关系,走到一定程度会停住吧,那别挽留了,终究是要走的。C语言是一个面向过程的编程语言,而Python是一门面向对象的计算机解释型程序原因。 有种女孩子很适合你,她不追问你去哪儿了,不无理取闹,不动不动就吃醋,不会粘...

weixin_39889642的博客 136

大学为什么不教MySQL_为什么很多人觉得大学的知识工作中用不到,用到的却不教?...

首先,大家要明白一个道理:大学里的绝大多数专业和职业是没有必然关系的,划不了等号的。就算大学可以教技能也没办法因材施教,谁也不知道你将来干什么具体工作,专业只有几百个,但工种有几千个几万个。其次,所以大学只能培养学习能力和基本知识,以不变应万变,因为绝大部分人都不会一辈子只做一种工作,大部分人会换好几次,一定的学习能力和扎实的基础知识可以让你面对很多工作都游刃有余。就像大部分工科都开设C语言和JA...

weixin_39899244的博客 430

python游戏结束显示分数代码,使用python制作游戏下载进度条的代码(程序说明见注释)...

python中怎么用控制台使用方法本文实例讲述了Python显示进度条的方法,是Python程序设计中非常实用的技巧。分享给大家供大家参考。具体方法如下: 首先,进度条和一般的print区别在哪里呢? 答案就是print会输出一个\n,也就是换行符,这样光标移动到了下一行行首。wget后台下载定向输出 然后用进度条在界面显示下载wget后台下载定向输出 然后用进度条在界面显示下载进度 不显示wge...

weixin_30514003的博客 418
上一篇: Python采集Top 250信息,看看谁最受欢迎~
下一篇: python:想要什么资源,直接上去莽就完事了~
魔王不会哭
博客等级 码龄5年 6003粉丝 394原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值