Python 爬虫通用代码框架代码示例

news2024/11/25 13:39:34

刚开始入门学习python爬虫会遇到各种各样的问题,如果以当时的学识想必处理起来也十分困难,那么,如果你拥有良好的编程习惯会让你轻松很多。

当我们在使用Requests库时经常遇到的问题无非是网络问题,连接的超时问题,或者你自己代码有错误…

下面列举了一些相关的错误:(如图1)

在这里插入图片描述

说到HTTP,首先HTTP协议是个超文本传输协议,且是一个基于"请求与响应"模式的,无状态的应用层协议。HTTP协议采用URL作为定位网络资源的标识。

URL格式:http://host[:port][path]

To:URL是通过HTTP协议存取资源 的Internet路径,一个URL对应一个数据资源。

1、host:合法的Internet主机域名或IP地址

2、port:端口号:缺省端口为80

3、path:请求资源的路径

HTTP协议对资源的操作:

1、GET:请求获取URL位置的资源

2、HRAD:请求获取URL位置资源的响应消息报告,即获得该资源的头部信息

3、POST:请求向URL位置的资源后附加新的数据

4、PUT:请求向URL位置存储一个资源,覆盖URL位置的资源

5、PATCH:请求局部更新URL位置的资源,即改变该处资源的部分内容

6、DELETE:请求删除URL位置存储的资源

理解PATCH和PUT的区别:

假设URL位置有一组数据User info,包括UserID,UserName等20个字段,需求:用户只改变了UserName,UserID等其它不变。

1、采用PATCH,仅向URL提交USERName的局部更新请求

2、采用PUT,必须将所有20个字段一并提交到URL,未提交字段将被删除

当采用PATCH时,最大的好处便是节省了网络带宽。

通用代码举例:

import requestsdef getHTMLText(url):
    try:  
       r=requests.get(url,timeout=30)
        r.raise_for_status()
        r.encoding=r.apparent_encoding
        return r.text    except:  
       return 0if __name__=="__main__":
    url="http://www.baidu.com"#可自己修改试试
    print(getHTMLText(url))

以上代码仅供参考,通用部分为 def 函数部分。

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

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

相关文章

设计模式C++实现25:解释器模式(Interpreter)

部分内容参考大话设计模式第27章;本实验通过C语言实现。 一 基本原理 意图:给定一个语言,定义其文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 上下文:如果业务规则频繁变…

Netty核心组件创建源码浅析

pipeline,Handler, HandlerContext创建源码剖析 源码解析目标 Netty中的ChannelPipeline,ChannelHandler和ChannelHandlerContext是核心组件,从源码解析来分析 Netty是如何设计三个核心组件分析Netty是如何创建和协调三个组件三…

LQB05 数码管动态扫描,显示字符串

1、蓝桥杯51单片机开发板的数码管是共阳数码管; 需要注意段码表的推导。 掌握推导段码表。 2、stcisp软件的数码管代码,是共阴的模式,注意取反的话,如何实现? 3、定时器动态扫描的思路; 4、注意动态扫描的时…

golang入门笔记——测试

测试类型: 单元测试: 规则: 1.所有测试文件以_test.go结尾 2.func Testxxx(*testing.T) 3.初始化逻辑放到TestMain中 运行: go test [flags][packages]Go语言中的测试依赖go test命令。 go test命令是一…

(考研湖科大教书匠计算机网络)第六章应用层-第四节:域名系统DNS

获取pdf:密码7281专栏目录首页:【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一:DNS概述二:层次域名结构(1)概述(2)顶级域名分类(3)因特网命名空…

「SAP」ABAP模块学习需要了解什么?快收下这份ABAP技术栈指南【附技能树】

💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计专业大二本科在读,阿里云社区专家博主,华为云社区云享专家,CSDN SAP应用技术领域新兴创作者。   在学习工…

1. MacOs Dart环境安装

前置材料:需要安装dart的Mac设备, 一颗会用搜索引擎的聪明大脑一步步讲一下homebrew的安装流程我个人安装时遇到的情况 大家做个参考 如果你遇到的问题和我的不一样可以来这里 homebrew快速安装指引 可入群咨询首先, 我其实是安装过homebrew的网上常见的dart安装命令…

2003 -Cant connect to MySql server on IP地址 (10060)----在docker安装的MySQL连接阿里云服务器

MySQL配置 这个问题是因为在数据库服务器中的mysql数据库中的user的表中没有权限(也可以说没有用户),下面将记录我遇到问题的过程及解决的方法。 在搭建完LNMP环境后用Navicate连接出错 遇到这个问题首先到mysql所在的服务器上用连接进行处理 0、docker exec -it m…

界面控件DevExpress WinForm——轻松构建类Visual Studio UI(二)

DevExpress WinForm拥有180组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForm能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任…

嵌入式常用知识

12、并发和并行的区别? 最本质的区别就是:并发是轮流处理多个任务,并行是同时处理多个任务。 你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。 你吃饭吃到一半&…

推荐5款实用小工具,第五款更是小白最爱

作为一个黑科技软件爱好者,电脑里肯定是不会缺少这方面的东西,今天的5款实用小工具闪亮登场了。 1.磁盘空间分析——SpcaeSniffer SpcaeSniffer是一款可视化硬盘空间占用布局大小的查询工具,软件体积小巧,使用简单。软件可对所需…

Android Studio翻译插件推介(Translation)

前言 Android Studio翻译插件适合英语水平不太好的程序员(比如:我),最常用的翻译插件Translation和AndroidLocalize,本文主要讲解Translation,亲测可用。 先看看效果:这里是Android的API,任意选…

apache、iis设置301教程(适用虚拟主机)

当前提供教程是通过重写规则实现301,目前西部数码主机面板已经开发"301转向"功能可快捷设置: 如果部署了https访问,请忽略此教程,部署https的网站请参考:https://www.west.cn/faq/list.asp?unid1419 进入业务管理-虚…

单通道说话人语音分离——Conv-TasNet(Convolutional Time-domain audio separation Network)

单通道说话人语音分离——Conv-TasNet模型(Convolutional Time-domain audio separation Network) 参考文献:《Conv-TasNet: Surpassing Ideal Time-FrequencyMagnitude Masking for Speech Separation》 1.背景 在真实的声学环境中,鲁棒的语音处理通常…

【蓝桥杯每日一题】差分算法

🍎 博客主页:🌙披星戴月的贾维斯 🍎 欢迎关注:👍点赞🍃收藏🔥留言 🍇系列专栏:🌙 蓝桥杯 🌙我与杀戮之中绽放,亦如黎明的花…

银河麒麟V10桌面版系统将用户开发Qt界面程序添加为开机自启动

银河麒麟V10桌面版系统将用户开发Qt界面程序添加为开机自启动 银河麒麟V10桌面版系统允许用户开发自己的qt界面程序并将其添加为开机自启动。这样,每次开机后,用户开发的qt界面程序会自动启动,无需手动打开。 要将用户开发的qt界面程序添加…

走进chatGPT新一代机器人

chatGPT这款新一代对话式人工智能便在全球范围狂揽1亿名用户,并成功从科技界破圈,成为街头巷尾的谈资。chatGPT能干什么?打开官网https://openai.com/blog/chatgpt/ ,完了,芭比Q了试下其他家的接口讲笑话写代码写解决方…

格雷码应用意义及编解码

文章目录1. 格雷码的应用意义2. 由自然数编码获得格雷码2.1 对称法实现2.2 公式法实现3. 由格雷码解码获得自然数1. 格雷码的应用意义 学过晶体管知识的朋友们都知道,数据位跳变就相当于硬件电路中的晶体管翻转。许多位同时跳变就相当于多个晶体管同时翻转&#xf…

【C++】STL之空间配置器 | STL总结

​🌠 作者:阿亮joy. 🎆专栏:《吃透西嘎嘎》 🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 目录👉什么是空…

全球首个云渗透测试认证专家课程发布!腾讯安全领衔编制

2月20日,国际云安全联盟CSA发布了“云渗透测试认证专家CCPTP”课程体系,这是全球首个云渗透测试能力培养课程及人才认证项目,有效地弥补了云渗透测试认知的差距和技能人才培养的空白。腾讯安全在该项目中担任核心课程编撰单位。CSA是全球中立…