python-快速上手爬虫

目录

前言

        爬虫需谨慎,切勿从入门到入狱!

一点小小的准备工作

直接上手爬取网页

1.获取UA伪装

2.获取url

3.发送请求

4.获取数据并保存

总结


前言

        爬虫需谨慎,切勿从入门到入狱!

一点小小的准备工作

        对pip进行换源:win+r 打开命令提示符,输入cmd ,回车,将此串代码复制粘贴,将pip换成清华大学的镜像源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

        换好了之后:再次win+r 打开命令提示符,输入cmd ,回车,输入下列代码,安装requests库用以爬虫

pip install requests

直接上手爬取网页

        爬虫的本质就是模拟浏览器上网的过程

        记住爬虫的四个步骤,UA伪装-->获取网站url-->发送请求-->获取数据并保存

import requestsif __name__ == '__main__':# UA伪装head = {"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://baike.baidu.com/item/%E5%91%A8%E6%9D%B0%E4%BC%A6/129156"# 发送请求response = requests.get(url, headers=head)# 获取数据并保存with open("jay.html", "w", encoding="utf-8") as fp:fp.write(response.text)print(response.status_code)  # 输出200 则为正常

示例代码为爬取周杰伦百度百科的界面,最后打印是200,即为成功。

1.获取UA伪装

  1. 右击页面,选择"检查";或者按f12,进入检查界面。
  2. 再点击"网络",点击左上角的符号清空请求,再按 ctrl+r 刷新网页。
  3. 你会看到有许多请求被加载出来,往上翻找到第一个,复制右下角的User-Agent:后的内容进行粘贴即可。

2.获取url

步骤与UA差不多

粘贴完UA,再复制请求URL:后面的内容进行粘贴即可

3.发送请求

使用requests.get()方法,传入参数url,headers=head

大部分爬取时的请求方法都是get,再用response保存获取到的内容

4.获取数据并保存

使用.text属性获取服务器返回的文本内容,并进行打印。

再用.status_code属性检查HTTP请求的响应状态码,打印之后若是200即为成功。

有时会有其他状态码的显示

# 状态码解释
2**	成功,操作被成功接收并处理
3**	重定向,需要进一步的操作以完成请求
4**	客户端错误,请求包含语法错误或无法完成请求
5**	服务器错误,服务器在处理请求的过程中发生了错误

总结

        以上是最基础的爬虫应用,只是爬取网页并没有什么太大的作用,以后还会有爬取网页的图片和文字信息等。

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

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

相关文章

libevent的event管理相关接口

目录 4. 事件管理4.1 event_new功能备注原型 4.2 event_free功能备注原型 4.3 event_debug_unassign功能 备注4.4 event_add功能:备注:原型: 4.5 event_del功能备注原型 4.6 event_base_once功能备注原型: 4.7 event_pending功能备注原型 4.8…

Censot7 使用 yum 报错:Could not resolve host: mirrorlist.centos.org

解决方案:替换成阿里的镜像地址。 1:先备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak 2:新建一个文件 touch /etc/yum.repos.d/CentOS-Base.repo 3:在新文件里写入以下内容 [base] name…

基于微信小程序图书馆座位预约系统设计与实现

链接: 文档和工程文件地址: ** 2、未完待续:请到目标位置下载 ** 链接: 文档和工程文件地址:

分布式搜索之Elasticsearch入门

Elasticsearch 是什么 Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。 Elastic Stack 又是什么呢&a…

排序系列 之 快速排序

!!!排序仅针对于数组哦本次排序是按照升序来的哦代码后边有图解哦 介绍 快速排序英文名为Quick Sort 基本思路 快速排序采用的是分治思想,即在一个无序的序列中选取一个任意的基准元素base,利用base将待排序的序列分…

【吊打面试官系列-ZooKeeper面试题】分布式集群中为什么会有 Master?

大家好,我是锋哥。今天分享关于 【分布式集群中为什么会有 Master?】面试题,希望对大家有帮助; 分布式集群中为什么会有 Master? 在分布式环境中,有些业务逻辑只需要集群中的某一台机器进行执行&#xff0c…

Leetcode1305.两颗二叉搜索树中的所有元素

1.题目要求: 给你 root1 和 root2 这两棵二叉搜索树。请你返回一个列表,其中包含 两棵树 中的所有整数并按 升序 排序。.2.思路: 我这个方法采用的是设立一个数组,然后用前序遍历把值存入数组中,然后用qsort给它排序 3.代码: /*** Definiti…

基本类型和包装类型的区别包装类型的缓存机制自动拆箱与自动装箱

基本类型和包装类型的区别是什么 存储方式:基本类型存储一般情况下储存在栈中(这里指的是局部变量),而基本类型的成员变量比如类的属性,会存储在堆之中。而包装类型我们都知道是引用类型存储在堆内存之中。 占用空间&…

[米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-21 VTC视频时序控制器设计

软件版本:Anlogic -TD5.9.1-DR1_ES1.1 操作系统:WIN10 64bit 硬件平台:适用安路(Anlogic)FPGA 实验平台:米联客-MLK-L1-CZ06-DR1M90G开发板 板卡获取平台:https://milianke.tmall.com/ 登录“米联客”FPGA社区 ht…

蚂蚁集团推出EchoMimic:能通过音频和面部标志生成逼真的肖像动画视频

蚂蚁集团最近推出了一项名为EchoMimic的新技术。能通过音频和面部标志生成逼真的肖像动画视频,让你的声音和面部动作被完美复制到视频中,效果自然如照镜子。 EchoMimic不仅可以单独使用音频或面部标志点生成肖像视频,也可以将两者结合&#…

任意空间平面点云旋转投影至水平面—罗德里格旋转公式

1、背景介绍 将三维空间中位于任意平面上的点云数据,通过一系列的坐标变换(平移旋转),使其投影到XOY平面上,同时保证点云的几何中心与XOY平面的原点重合,同时点云形状保持不变。具体效果如下,具…

Vue中如何封装接口

在Vue项目中封装接口通常是指将HTTP请求(如GET、POST等)封装成可复用的函数或方法,以便于在组件中方便地调用。这样的封装有助于减少代码重复,增强代码的可维护性和可读性。以下是一个基于Vue和Axios(一个基于Promise的…

深入探究理解大型语言模型参数和内存需求

概述 大型语言模型 取得了显著进步。GPT-4、谷歌的 Gemini 和 Claude 3 等模型在功能和应用方面树立了新标准。这些模型不仅增强了文本生成和翻译,还在多模态处理方面开辟了新天地,将文本、图像、音频和视频输入结合起来,提供更全面的 AI 解…

MySQL MVCC原理

全称Multi-Version Concurrency Control,即多版本并发控制,主要是为了提高数据库的并发性能。 1、版本链 对于使用InnoDB存储引擎的表来说,它的聚簇索引记录中都包含两个必要的隐藏列: 1、trx_id:每次一个事务对某条…

vue-treeselect

一、属性及属性值 属性类型默认值用途allowClearingDisabledBooleanfalse是否允许重置值,即使有禁用的选定节点allowSelectingDisabledDescendantsBooleanfalse 当选择/取消选择祖先节点时,是否应选择/取消选中其禁用的后代 可与allowClearingDisabled道…

Harbor系列之1:介绍、架构及工作流程说明

Harbor介绍、架构及工作流程说明 Harbor 是一个用于存储、签名和扫描内容的企业级容器镜像注册表项目。由 VMware 开发并于 2016 年开源。Harbor 提供了一些关键特性,使其成为企业使用的理想选择。 1. Harbor 介绍 1.1 什么是 Harbor Harbor 是一个开源的云原生…

UDP网口(1)概述

文章目录 1.计算机网络知识在互联网中的应用2.认识FPGA实现UDP网口通信3.FPGA实现UDP网口通信的方案4.FPGA实现UDP网口文章安排5.传送门 1.计算机网络知识在互联网中的应用 以在浏览器中输入淘宝网为例,介绍数据在互联网是如何传输的。我们将要发送的数据包称作A&a…

cordova使用vue进行开发

使用vue框架进行cordova跨平台混合框架app开发,步骤如下: 1、使用cordova创建一个项目 2、使用vue创建一个项目 3、在vue项目的根目录创建一个vue.config.js文件(如果有则不用再创建),vue.config.js的内容如下&…

Android 14 适配之 - 全屏 intent 通知

全屏 intent 通知 在 Android 11(API 级别 30)中,任何应用都可以在手机处于锁定状态时使用 Notification.Builder.setFullScreenIntent 发送全屏 intent。在 AndroidManifest 中声明 USE_FULL_SCREEN_INTENT 权限即可; 全屏 int…

在 ROS 2 中创建一个节点的过程

在 ROS 2 中创建一个节点的过程包括几个关键步骤。以下是一般的步骤流程,使用 C 和 ament_cmake 构建系统为例: 步骤 1: 创建工作空间 如果还没有工作空间,首先创建一个: mkdir -p ~/my_ros2_ws/src cd ~/my_ros2_ws colcon bu…