《0基础》学习Python——第十九讲__爬虫/<2>

news2024/9/21 23:43:37

一、用get请求爬取一般网页

        首先由上节课我们可以找到URL、请求方式、User-Agent以及content-type

即:在所在浏览器页面按下F12键,之后点击网路-刷新,找到第一条双击打开标头即可查看上述所有内容,将上述URL、User-Agent所对应的值复制下来

例如我们想爬取下面这个页面

那么我们只需按下F12,按照我前面讲的,找到其URL、User-Agent,以及请求方式和内容格式,

分别如下:

1、

2、

3、

4、

以上便是爬取网页的关键用具了,接下来将开始写代码去爬取他的页面

首先我们获取了URL,那么变要进行get请求,但是我们需要有一个身份来获取网页的数据,如果不伪装一个身份,而直接以编译器的形式去爬取,大多数网页会识别到你是个爬虫,是个小偷,想要过来偷取我的数据,会直接将你驱逐出去,而不让你爬取他的数据,所以我们就使用UA伪装的方法去将自己伪装成一个浏览器,这样多数的网页就不会驱逐你,是你能够用爬取数据。

完成UA伪装后使用get请求,得到url对应的网页数据,就用content-type上看到的方式去打印这段数据,代码如下:

import requests


head = {  #进行UA伪装
    "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"
}

url = "https://www.sogou.com/web?query=刘亦菲"

# 2、发送请求 get带参数使用params参数
response = requests.get(url, headers=head)

#打印数据,以content-type中写的方式去打印
print(response.text)

输出结果为:很长很长的数据

以上就是基础的打印出来了这个网页的所有数据,那么接下来就要将这段数据保存下来,然后对这段数据进行处理:

import requests

head = {  #进行UA伪装
    "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"
}

url = "https://www.sogou.com/web?query=刘亦菲"

# 2、发送请求 get带参数使用params参数
response = requests.get(url, headers=head)

#打印数据,以content-type中写的方式去打印

with open("./dilireba.html", "w", encoding="utf8") as fp:
fp.write(response.text)
print(type(response.text))

即将那一幅大串的数据存入html文件,dilireba.html,html是一个网页的原码存放文件,在左侧文件夹中找到这个文件并打开,

可以发现右上角有几个浏览器的logo,点击电脑里有的那个即可直接打开这个网页,得到如下结果

此时虽然页面摸样和之前那个一样,但是注意地址栏的地址,显示的是本地地址,即说明当前这个页面爬取成功,这看起来没什么用,但是后面我们会慢慢讲解为什么,比如从卖二手车的网页爬取车辆的图片以及名称报价,以及爬取网页的vip视频,小说的全部内容等等

下面是定义函数的方法去写上述的代码,仅供参考

import requests #导入爬虫库

head = {  #进行UA伪装
    "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"
}

# 这是get请求带参数的模式
def get_param():
    
    # 1、url
    url = "https://www.sogou.com/web?"

    # 2、发送请求 get带参数使用params参数
    response = requests.get(url, headers=head, params={"query": "刘亦菲"})

    # 3、获取想要的数据
    with open("./dilireba.html", "w", encoding="utf8") as fp:
        fp.write(response.text)
        print(type(response.text))

if __name__ == '__main__':
        get_param()

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

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

相关文章

高考完的假期想学c语言 要注意那些问题?

在高考完的假期学习C语言是一个非常好的选择,可以为以后大学的专业学习打下坚实的基础。我收集制作一份C语言学习包,对于新手而言简直不要太棒,里面包括了新手各个时期的学习方向,包括了编程教学,数据处理,…

参考椭球体与坐标系|大地水准面|地理坐标系|投影坐标系|EPSG|SRID

相关概念之间的关系: 大地水准面 **大地水准面(Geoid)**是海洋表面在排除风力、潮汐等其他影响后,只考虑重力和地球自转影响下的形状,这个形状延伸过陆地生成的一个密闭的曲面。 简单来说:就是一个假想的由地球自由静止的海水平面&#xf…

最新matlab2024a安装教程

一、软件领取 领取方式: https://pan.baidu.com/s/1TeH5F7ilPQVeLc9S9eDmSQ?pwdqot6 二、安装步骤 1、右击下载好的安装包,选择解压缩。(用电脑自带的解压功能或解压软件都可以,我这里用的电脑自带的) 2、打开…

购物车案例(源码分享)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…

3D建模软件--犀牛Rhino for Mac

Mac分享吧 文章目录 效果一、下载软件二、开始安装1、双击运行软件,将其从左侧拖入右侧文件夹中,等待安装完毕2、应用程序显示软件图标,表示安装成功 三、运行测试安装完成!!! 效果 一、下载软件 下载软件…

中国城市房地产政策汇总数据(1957-2024.7)

房地产政策是ZF为了引导和调控房地产市场,确保其健康稳定发展而制定的一系列法律法规和行政措施。包括政策类型、政策内容、限价、限购、土地供应、人才政策等,旨在平衡供需、稳定房价、保护消费者权益、促进资源合理配置及维护市场秩序。包括1957年以来…

看准JS逆向案例:webpack逆向解析

🔍 逆向思路与步骤 抓包分析与参数定位 首先,我们通过抓包工具对看准网的请求进行分析。 发现请求中包含加密的参数b和kiv。 为了分析这些加密参数,我们需要进一步定位JS加密代码的位置。 扣取JS加密代码 定位到JS代码中的加密实现后&a…

C++ 基础和基本语法

文章目录 1. 简介 2. 基本解释 示例解释 3. 程序结构 HELLO WORLD 编译 & 执行 C 程序 4. 分号 和 语句块 5. 标识符 6. 关键字 7. 注释 1. 简介 C 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编…

【HCIA-综合实验】

实验拓扑 实验要求 总经理VLAN2 财务部VLAN3 销售部VLAN4 DNS服务器VLAN5。SW3为VLAN2 3 4 5的网关, SW3启用接口地址池为VLAN2 3动态分配地址。交换机连接终端开启边缘端口,并进行BPDU保护,在SW1和SW2、SW3进行STP优化。R1和SW3链路聚合&am…

Linux 内核模块加载知多少

文章目录 目录 1. 内核模块 内核模块的作用 2. 内核模块的加载 2.1 内核模块的加载过程 2.2 内核模块加载方式 使用 insmod 加载模块 使用 modprobe 加载模块 2.3 内核模块加载顺序 3. 常用的相关命令 4. 总结 工作还在继续,学习还在继续,学习…

【算法/学习】前缀和差分

前缀和&&差分目录 1. 前缀和的概念及作用 🌈概念 🌈用途 🌙一维前缀和 🌙二维前缀和 2. 差分的概念及用途 🌈概念: 🌈用途 🌙一维差分 🌙二维差分 1. …

sap 权限控制例子

文章目录 1 T-code2 Method3 Summary 1 T-code We use t-code is ‘su21’ and ‘PFCG’ . Creat Authorization objects . Create role 2 Method DATA: zbz(1).CLEAR:zbz.SELECT SINGLE COUNT(*) FROM agr_users WHERE uname sy-uname AND agr_name ZMM_PRICE001.&q…

redis全局唯一ID生成策略、countDownLatch、Lambda表达式总结

redis全局唯一ID生成策略 一、有哪些生成全局唯一ID的策略二、使用Redis自增1. 分析2. RedisIdWorker配置类3 单元测试注解分析(难点较多)3.1 countDownLatch前言3.2 常用方法 一、有哪些生成全局唯一ID的策略 二、使用Redis自增 1. 分析 2. RedisIdWor…

《数据结构1800题》基础回合总结——第1章 绪论

前言:《数据结构1800》这本书相信大家或多或少都有所耳闻,收录了诸多不同档次学校的考研真题,因为和汤老师的1800撞名所以备受调侃。这1800道题目里面有选择有填空,也有简答和一些编程题,总的来说质量良莠不齐——亦或…

Transformer之Swin-Transformer结构解读

写在最前面之如何只用nn.Linear实现nn.Conv2d的功能 很多人说,Swin-Transformer就是另一种Convolution,但是解释得真就是一坨shit,这里我郑重解释一下,这是为什么? 首先,Convolution是什么? Co…

GaussianPro使用笔记

1. 介绍 GaussianPro: 3D Gaussian Splatting with Progressive Propagation 3D高斯分布(3DGS)最近以其高保真度和效率彻底改变了神经渲染领域。然而,3DGS在很大程度上依赖于运动结构(SfM)技术生成的初始化点云。当处理不可避免地包含无纹理…

语音识别 语音识别项目相关笔记内容

语音识别 语音识别项目相关笔记内容 语音识别应用范畴语音识别框架语音基本操作使用scipy.io.wavfile读取wav音频文件获取采样率、长度、通道数使用numpy读取pcm格式音频文件读取wav音频文件,并绘制图像读取双声道的wav音频文件,分别绘制不同声道的波形图读取一个采样率为16k…

拍立淘API返回值:图像搜索技术的商品信息获取指南

拍立淘API是基于图像搜索技术的商品信息获取工具,广泛应用于阿里巴巴旗下的电商平台如淘宝、天猫等。这一API通过用户上传的商品图片,利用深度学习、计算机视觉等先进技术自动识别图片中的商品信息,并返回与之相关的搜索结果。以下是对拍立淘…

go语言Gin框架的学习路线(八)

目录 GORM Model定义 使用 Model 结构体的自定义数据模型 理解并记忆 GORM 的 Model 结构体可以通过以下几个步骤和技巧: 1. 理解基本概念 2. 熟悉基本字段 3. 记忆技巧 4. 使用场景 结构体标记 支持的结构体标记(Struct tags) 关联…

浏览器渲染揭秘:从加载到显示的全过程;浏览器工作原理与详细流程

目录 浏览器工作原理与流程 一、渲染开始时间点 二、渲染主线程的渲染流程 2.1、渲染流程总览 2.2、渲染具体步骤 ①解析html-Parse HTML ②样式计算-Recalculate Style ③布局-Layout ④分层-Layer 相关拓展 ⑤绘制-Paint ⑥分块-Tiling ⑦光栅化-Raster ⑧画-D…