Python爬虫入门01:在Chrome浏览器轻松抓包
文章目录
爬虫基本概念
爬虫定义
爬虫(Web Crawler 或 Spider)是一种自动浏览互联网的程序,它按照一定的算法顺序访问网页,并从中提取信息。爬虫的基本任务是抓取网页内容,这些内容可以是文本、图片、视频等。爬虫在互联网上的应用非常广泛,包括搜索引擎的数据收集、市场研究、数据挖掘等。
爬虫工作原理
- 起始URL:爬虫从一组初始URL开始,这些URL可以是手动指定的种子URL,也可以是自动生成的。
- 下载网页:爬虫访问URL,下载对应的网页内容。
- 解析内容:爬虫解析下载的网页,提取有用的信息,如文本、链接等。
- 提取链接:从解析的内容中提取新的URL,这些URL将作为爬虫下一步访问的对象。
- 重复过程:对提取的链接重复下载和解析的过程,直到满足特定条件(如爬取的页面数量、时间限制等)。
爬虫流程
- 目标确定:明确爬虫需要抓取的数据类型和范围。
- 网站分析:分析目标网站的结构,了解网页的布局和数据的组织方式。
- 请求发起:根据分析结果,构造合适的HTTP请求,包括GET或POST请求,以及必要的请求头信息。
- 数据获取:服务器响应请求后,爬虫接收数据,这些数据可能是HTML、JSON、XML等格式。
- 数据解析:使用正则表达式、BeautifulSoup、lxml等工具,从获取的数据中提取有用的信息。
- 数据存储:将解析出的数据存储到数据库或文件中,以便进一步的分析和使用。
- 遵守规则:在爬虫的设计和运行过程中,遵守网站的robots.txt协议,尊重版权和隐私政策。
爬虫类型
爬虫面临的挑战
使用Chrome浏览器抓包

查看网页HTML代码



查看HTTP请求
点击Network标签,刷新页面查看HTTP请求。这里咱是中文的,就点击长得像wifi那个符号就好了。
常见请求方式:GET, POST, PUT, DELETE, HEAD, OPTIONS, TRACE。
GET请求:参数在URL中,如https://www.baidu.com/s?wd=查询内容
。
POST请求:参数在请求体中,常用于信息提交如注册、登录。
HTTP请求是客户端(如浏览器)与服务器之间通信的基础。在进行网页爬取时,了解和分析HTTP请求是至关重要的。以下是对HTTP请求的进一步扩展:
HTTP请求方法:不同的请求方法决定了客户端与服务器交互的方式。
查看HTTP请求的步骤:
- 打开浏览器的开发者工具(通常通过按F12或右键点击页面元素选择“检查”)。
- 点击“Network”(网络)标签。
- 刷新页面,观察和分析发出的所有请求。
- 点击具体的请求,查看详细信息,包括请求头、请求体、响应头和响应体。
GET请求详解:
key1=value1&key2=value2
。https://www.baidu.com/s?wd=查询内容&其它参数



这里我们会发现这个get的用法其实就相当于我们在 Python 写 GET 请求的时候
直接在 URL 后面加个 ?然后添加参数值就好了,不信的话可以复制去试一下,弹出来的界面和在输入框输入“爬虫”是一样的。
https://www.baidu.com/s?ie=utf-8&csq=1&pstg=22&mod=2&isbd=1&cqid=8f6a4386003a1144&istc=1238&ver=0Q6tTQUEQuHajerqoqPYyO9Y2bJzZC7NC9m&chk=66a4eac6&isid=470ACB913FC52189&wd=%E7%88%AC%E8%99%AB&rsv_spt=1&rsv_iqid=0xf1e9644100cf032b&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_dl=ib&rsv_sug3=8&rsv_sug1=7&rsv_sug7=100&_ck=64387.0.-1.-1.-1.-1.-1&rsv_isid=60360_60468_60492_60500_60520&isctg=5&rsv_stat=-2&rsv_sug7=100
POST /login HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
username=xiaoshuaib&password=加密后的密码
当我们点击登录的时候,就开始将我们的账号密码请求给百度服务器,可以看到我们请求了 login 这个接口
请求方法就是 POST
POST请求可以携带复杂的数据格式,如JSON或XML。
请求头(Request Headers):
Accept
(客户端可接受的数据类型)、Content-Type
(发送的数据类型)、Cookie
(会话信息)等。响应头(Response Headers):
Content-Type
(响应的数据类型)、Set-Cookie
(设置客户端的cookie)等。响应体(Response Body):
请求头(Request Header)

服务器响应

抓包的意义

这样子我们就已经离实际爬虫又进一步啦。
作者:摆烂牛杂