用不同的url头利用Python访问一个网站,把返回的东西保存为txt文件

news2024/12/27 11:33:51

这个需要调用requests模块(相当于c++的头文件)

import requests 

 还需要一个User-Agent头(这个意思就是告诉python用的什么系统和浏览器)

Google Chrome(Windows):

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36

Mozilla Firefox(Windows):

Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.

Microsoft Edge(Windows):

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.774.63 Safari/537.36 Edg/89.0.774.63

这仨是常用的,谷歌 火狐  Edge, 我这里使用的是edge 

headers_list =  {'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.774.63 Safari/537.36 Edg/89.0.774.63'}

 找到网页后就可以扒内容了

with open('response.txt', 'w', encoding='utf-8') as file:  

    for headers in headers:  

        # 发送请求  

        response = requests.get(url, headers=headers)  

        # 打印状态码  

        print(f'Sent request with header: {headers["User-Agent"]}, Status code: {response.status_code}')  

        # 如果请求成功,保存返回内容  

        if response.status_code == 200:  

            file.write(f'Response with header: {headers["User-Agent"]}\n')  

            file.write(response.text )  

        else:  

            file.write(f'Failed request with header: {headers["User-Agent"]}, Status code: {response.status_code}')  

print('请求成功!')

完整代码如下

import requests  

# 定义要访问的URL  
url = 'http://baidu.com'  # 请替换为你要访问的网站  

# 定义User-Agent头  
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0',
}
# 创建一个TXT文件来保存返回的内容  
with open('response.txt', 'w', encoding='utf-8') as file:  
    for headers in headers:  
        # 发送请求  
        response = requests.get(url, headers=headers)  
        
        # 打印状态码  
        print(f'Sent request with header: {headers["User-Agent"]}, Status code: {response.status_code}')  
        
        # 如果请求成功,保存返回内容  
        if response.status_code == 200:  
            file.write(f'Response with header: {headers["User-Agent"]}\n')  
            file.write(response.text)  
        else:  
            file.write(f'Failed request with header: {headers["User-Agent"]}, Status code: {response.status_code}')  

print('请求成功!')  

 结果如下

 

 文本如下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1939281.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件质量模型、生命周期模型、测试过程模型

目录 测试用例 定义 常见测试用例的核心8要素 软件质量模型 质量模型标准 软件开发过程模型(软件生命周期模型) 瀑布模型 软件测试过程模型 V模型 W模型 测试用例 定义 测试用例,也叫Test Case,为了特定的目的而设计…

【Apache Doris】数据副本问题排查指南

【Apache Doris】数据副本问题排查指南 一、问题现象二、问题定位三、问题处理 本文主要分享Doris中数据副本异常的问题现象、问题定位以及如何处理此类问题。 一、问题现象 问题日志 查询报错 Failed to initialize storage reader, tablet{tablet_id}.xxx.xxx问题说明 查…

使用Python的Turtle库绘制草莓熊

引言 Turtle库是Python标准库中一个非常有趣且实用的模块,它主要用于绘制图形和动画。Turtle图形学源于Logo语言,是一种基于命令的绘图方式。通过控制一个名为“海龟”的虚拟角色,在屏幕上移动和绘制,Turtle库可以轻松地教授基础…

IDEA工具中Java语言写小工具遇到的问题

一:读取excel时遇到 org/apache/poi/ss/usermodel/WorkbookProvider 解决办法: 在pom.xml中把poi的引文包放在最前面即可(目前就算放在最后面也不报错了,不知道为啥) 二:本地maven打包时,没有…

React基础学习-Day08

React基础学习-Day08 React生命周期(旧)(新)(函数组件) (旧) 在 React 16 版本之前,React 使用了一套不同的生命周期方法。这些生命周期方法在 React 16 中仍然可以使用…

【人工智能】Python实现文本转换为语音:使用gTTS库实现

🔥 个人主页:空白诗 文章目录 一、引言二、准备工作三、使用gTTS实现文本转换为语音详细步骤 四、人工智能与TTS技术五、总结 一、引言 文本转换为语音(Text-to-Speech,简称TTS)技术是人工智能的重要组成部分&#xf…

2024年7月萤火虫航天为NASA发射8颗立方体卫星

作为美国宇航局立方体卫星发射计划的一部分,萤火虫航空航天公司于7月3日在该公司的阿尔法火箭上发射了八颗小型卫星。这枚名为“夏日噪音”的火箭于太平洋夏令时(PDT)晚上9点04分从加利福尼亚州范登堡空军基地的2号航天发射场成功升空。 立方…

SpringBoot整合SSE,实现后端主动推送DEMO

前言 说起服务端主动推送,大家第一个想到的一定是WEBSOCKET 。 作为软件工程师,不能无脑使用一种技术,要结合实际情况,择优选取。 SSE(Server-Sent Events)相比于WEBSOCKET 1、轻量化、兼容性 基于传统…

Mac装虚拟机占内存吗 Mac用虚拟机装Windows流畅吗

如今,越来越多的Mac用户选择在他们的设备上安装虚拟机来运行不同的操作系统。其中,最常见的是使用虚拟机在Mac上运行Windows。然而,许多人担心在Mac上装虚拟机会占用大量内存,影响电脑系统性能。此外,有些用户还关心在…

抖音火爆 百度地图导航高阶定制茉莉13个语音包附带安装教程,开车再也不会犯困了

慎用,慎用! 1、工具下载: 百度导航高阶定制茉莉13个语音包https://pan.quark.cn/s/8669c1dad02a下载 | MT管理器:https://pan.quark.cn/s/b7b8e8f16326 2、语音包路径: 百度导航路径: /storage/emulate…

【LLM】-04-提示工程 - 文本转换

目录 1、文本翻译 1.1、翻译为德语 1.2、识别语种 1.3、多语言翻译 1.4、同时进行语气转换 1.5、通用翻译器 2、语气与写作风格调整 3、数据格式转换 4、拼写及语法纠正 5、综合样例 大语言模型具有强大的文本转换能力,可以实现多语言翻译、拼写纠正、语法…

数据结构 - 栈(精简介绍)

文章目录 普通栈Stack用法Q 最长有效括号 单调栈Q 接雨水 普通栈 栈就是一个先进后出的结构 想象一个容器,往里面一层一层放东西,最早放进去的东西被压在下面(所以放元素也叫压栈),要拿到这个最低层的东西需要先把上面…

异步电机矢量控制matlab simulink

1、内容简介 略 86-可以交流、咨询、答疑 异步电机、矢量控制 2、内容说明 略 3、仿真分析 略 4、参考论文 略

[Python库](3) Arrow库

目录 1.简介 2.安装 3.函数 3.1.获取当前UTC时间( 世界协调时时间 ) 3.2.格式化日期 3.3.创建Arrow对象 3.4.时间改变 3.5.获取时间戳 3.6.时区改变 4.小结 1.简介 Arrow库是一个Python库,提供了一套用于处理日期和时间的API。Arrow库特别适合在需要进行大…

C++搜索算法(dfs)

目录 一.dfs简介 二.dfs的运用 1.迷宫问题 经典题型:最快走出迷宫 题目描述: 数据范围: 题目分析: 正确代码 2.棋盘问题: 经典题型:八皇后问题 题目描述: 题目分析: 正…

微服务实战系列之玩转Docker(五)

前言 在我们日常的工作生活中,经常听到的一句话:“是骡子是马拉出来遛遛”。目的是看一个人/物是不是名副其实。我们在使用docker时,也要看看它究竟是如何RUN起来的。当面试官问你的时候,可以如是回答,保你“一文通关…

SQUID - 形状条件下的基于分子片段的3D分子生成等变模型 评测

SQUID 是一个形状条件下基于片段的3D分子生成模型,给一个3D参考分子,SQUID 可以根据参考分子的形状,基于片段库,生成与参考分子形状非常相似的分子。 SQUID 模型来自于 ICLR 2023 文章(2022年10月6日提交)&…

中国 X86 CPU 技术源自何方

注: 原文发布于 2017 年,两篇合二为一。未与作者沟通,侵权,立删。 导语: Intel 对 X86 的授权有着极为严格的限制,那么上海兆芯的 X86 芯片技术到底从何而来?ZX-C 目前的短板在哪里?…

电子电器架构 --- 智能汽车的大脑(域控制器)

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

【深入理解SpringCloud微服务】浅析微服务注册中心Eureka与nacos,手写实现一个微服务注册中心

【深入理解SpringCloud微服务】浅析微服务注册中心Eureka与nacos,手写实现一个微服务注册中心 注册中心手写实现一个注册中心服务端设计客户端设计 注册中心 注册中心是微服务体系里面非常重要的一个核心组件,它最重要的作用就是实现服务注册与发现。 …