IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 上手就能用的Python爬虫,不香吗? -> 正文阅读

[网络协议]上手就能用的Python爬虫,不香吗?

前言

本人同样为学生,总结不一定对,这只是个人在学习过程中的记录,仅供参考。如果内容有问题的话,欢迎在评论区指出,谢谢正在阅读的您~

身边还是有不少人不会或者嫌麻烦而不愿意迈出“学习爬虫”这对个人而言跨世纪的一步。
内容尽可能面向0基础人群、让不懂的人或者不是计算机专业的也能听懂
侧重功能实现而稍微忽略部分原理,直接复制代码+自己查找少部分内容即可实现简单爬虫用于完成作业或者应用

正文开始!

封装请求方法

# by-带刺儿玫瑰
import requests
def getResponseWithHeaders(sites: str, Headers:dict):
    url = sites
    headers = Headers
    return requests.get(url, headers=headers)  # 请求#Get方式获取网页数据

上述代码块为封装的用于发起请求的方法,接下来主要就是构造headers、找网址的构成规律


构造headers

通过代码访问与浏览器访问的区别?

用代码访问和人为通过浏览器访问肯定是不一样的, 每一个网页(或者说每一个网址)都和一个服务器(Server)相关联,在浏览器中输入网址后按下回车就是向Server发起一次请求,然后该Server把网页的内容通过网络发送给我们,所以简单来说,每次访问网页不光消耗我们访问的人(Client)的流量也会消耗服务器(Server)的流量。 服务器消耗的流量简单认为和所有客户端消耗流量的总和相同,但是分散到每个客户端也许只有1MB,但是若有1024个客户端,那服务器就要耗费1GB的流量,而且代码运行起来比人为操作快太多,所以可以简单理解为服务器的费用成本高。
因此服务器不会简单地让代码直接访问,需要为“访问的代码程序”嵌入一些“浏览器才具备的特征”,让服务器将代码发起的请求当作是浏览器发起的

Markdown将文本转换为 HTML

headers的常用构造方法

下面为headers的常用构造方法,对大部分发布公共数据的网站基本就够用了,有些需要登录的…就肯定不行咯~那就需要进行更多的操作,让服务器“认可”、“许可”我们的访问并把资源通过网络发给我们。

	def getHeaders():
	    headers = {
	        'Cookie': ''
	        , 'User-Agent': ''
	    }

上述代码其实很容易看懂,包含两个键值对,这两个就是需要我们人为查找、改改的内容。如何找呢?看下面的内容。

如何找headers的参数

打开任意一个浏览器(我常用的是Chrome或者Firefox,电脑里常备三个浏览器,Edge用于日常访问、Chrome和Firefox用于Web开发),按下F12打开开发者工具,可能会提示“是否要进入开发者模式”等等内容,就直接同意就好了。Chrome打开后的界面如下所示:
Chrome的开发者工具界面截图
上图中最重要的是红框那一行的Tab,点击“网络”,然后关注下方有“毫秒”两字的区域,不出意外应该是空白或者每隔一段时间会新增一条记录。此时就在开发者工具界面按F5刷新网页(开发者工具和每一个网页是一一对应的, 不用回到网页,也可以刷新开发者工具对应的网页)
刷新后应该能观察到原来没有记录的区域会出现很多很多条记录,此时一般找第一个或者自己想要的资源所对应的那一条记录(如何找?看后续更新的博客吧!)
因为刚完成了与天气相关的大作业,所以直接就以“中国天气网”为例了。刷新该页面后,开发者工具显示的内容如下:
”中国天气网“刷新后的开发者工具界面截图
此时关注到第一条记录,名字就是网站的域名,嗯,所以应敏感地抓住这个特征,点击该条记录,在弹出的框内切换到“标头”这个Tab。如下所示:
切换到“标头”Tab后的界面

“响应标头”可以简单理解为:是服务器(Server)给我们发资源的时候要先跟我们说清楚发的是什么东西以及格式啊之类的,以便我们接收到资源后浏览器可以进行检查之类的操作。

往下往下往下

找到**“请求标头”**。与“响应标头”类似,这个标头会和我们的请求操作一同发送给服务器(Server),表示我们要什么东西和我们的身份,方便服务器识别我们的身份和明白我们要什么东西。

再找到“请求标头”里的“User-Agent”和“Cookie”两栏,如下红框内的所示:
User-Agent 和 Cookie的截图
然后,把“User-Agent”和“Cookie”字段后面对应的值(也就是内容),复制到构造headers的代码里,就行了。
headers构造完毕!


构造网址

不更了, 未完待续…

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-03-13 22:11:44  更:2022-03-13 22:12:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:38:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码