
Python网络爬虫开发实战
文章平均质量分 83
由浅入深,带你掌握爬虫原理,拥有独立自主的开发技能!
街 三 仔
一个热爱编程的小工科男·阿里云专家博主
展开
-
【Python网络蜘蛛】基础 - 多线程和多进程的基本原理
注意:由于进程是系统进行资源分配和调度的一个独立单位,所以各进程之间的数据是无法共享的,如多个进程无法共享一个全局变量,进程之间的数据共享需要由单独的机制来实现。Python中 GIL的限制导致不论是在单核还是多核条件下,同一时刻都只能运行一个线程,这使得Python多线程无法发挥多核并行的优势。对于多进程来说,每个进程都有属于自己GIL,所以在多核处理器下,多进程的运行是不会受GIL影响的。即多进程能更好的发挥多核优势。进程是线程的集合,线程是操作系统进行运算调度的最小单位,是进程中的最小运行单元。原创 2023-04-01 22:41:45 · 514 阅读 · 2 评论 -
【Python网络蜘蛛】:基础 - 代理的基本原理
设置代理服务器,就是在客户端和服务器之间搭建一座桥,此时客户端并非直接向Web服务器发起请求,而是把请求发送给代理服务器,然后由代理服务器把请求发送给Web服务器,Web服务器返回的响应也是由代理服务器发送给客户端。在抓取数据的过程中经常会遇到这样的情况,一开始抓取数据是正常的,但是一杯茶的功夫就出现了错误,例如403 Forbidden。这样客户端同样可以正常访问网页,而且这个过程中Web服务器识别出的真实IP就不再是客户端的IP了,成功实现了IP伪装,这就是代理的基本原理。原创 2023-04-01 21:56:31 · 469 阅读 · 0 评论 -
【Python网络蜘蛛】:基础 - 爬虫的基本原理
获取网页在HTTP基本原理中讲了请求和响应的概念,向网站的服务器发送一个请求,服务器返回的响应体便是网页源码。关键部分即构造请求并发送给服务器,然后接收响应对其进行解析。这个过程可使用Python提供的库:urllib、requests等来完成HTTP请求操作。提起信息获取网页源码后,接下来就是分析源码,提取我们想要的数据。原创 2023-04-01 17:39:31 · 574 阅读 · 0 评论 -
【Python网络蜘蛛】:基础 - Session和Cookie
Session,中文称之为会话,在Web中,Session对象用来存储特定用户Session所需的属性和配置信息。这样,用户在程序页面间进行跳转时,存储在Session对象中的变量不会消失。当Session过期或被放弃后,服务器终止改Session。在浏览网站的过程中,我们经常会遇到需要登陆的情况,有些页面只有在登录之后才可以访问。根据前面提出的问题,很多页面上是需要登录后才能呈现出来,按照逻辑,登录后肯定是拿到一种类似凭证的东西,而这凭证就是Session和Cookie共同产生的结果。原创 2023-04-01 20:53:36 · 605 阅读 · 1 评论 -
【Python网络蜘蛛】:基础 - HTTP基本原理
POST请求大多在提交表单时发起。例如,对于一个登录表单,输入用户名和密码后,单击“登录”按钮,这时通常会发起一个POST请求,其数据通常以表单的形式传输,而不会体现在URL中。举个例子理解:http://github.com/favicon.ico 既是一个URI,也是一个URL,即有一个图标资源favicon.ico,我们用URI/URL指定了访问它的唯一方式,其中包括访问协议https、访问路径和资源名称。请求体,一般承载的内容是POST请求中的表单数据,对于GET请求,请求体为空。原创 2023-02-21 16:06:53 · 288 阅读 · 0 评论