Python爬虫实战:使用requests模块抓取百度翻译与搜狗首页

今天早睡
今天早睡
发布时间:2026-10-14| 3人浏览过
原创

本文详细介绍Python中requests模块的安装与基础用法,涵盖指定URL、参数处理、发起请求及数据持久化存储的完整流程。通过百度翻译POST请求案例演示UA伪装技巧,并结合搜狗首页GET请求案例,讲解如何获取网页源码并保存为本地文件,帮助开发者快速掌握网络爬虫核心技能。

requests模块简介与安装

requests模块是Python中用于处理网络请求的核心库。

作为Python原生提供的网络请求工具,它具有功能强大、接口简洁且执行效率极高的特点。

其主要作用是模拟浏览器向服务器发送HTTP请求。

需要注意的是,虽然早期版本常使用urllib模块,但requests模块在易用性和代码简洁度上更具优势,建议初学者直接学习requests模块。

requests模块编码流程

使用requests模块进行数据抓取的标准流程包括以下步骤。

第一步是确定目标网页的URL地址。

1.1 针对需要反爬机制的网站,需进行User-Agent(UA)伪装。

1.2 对请求所需的参数进行解析与封装处理。

第二步是向指定URL发起HTTP请求。

第三步是接收并解析服务器返回的响应数据。

第四步是将获取到的数据进行持久化存储,如保存为文件或数据库。

在使用前,需通过pip命令安装该模块。

执行命令:pip install requests

案例一:百度翻译POST请求爬取

案例一:通过POST请求爬取百度翻译接口数据。

具体实现代码如下:


#爬取百度翻译
#导入模块
import requests
import json

#UA伪装:将对应的User-Agent封装到一个字典中
headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
           'Chrome/57.0.2987.98 Safari/537.36'}

  #网页访问连接
 url='https://fanyi.baidu.com/sug'
 #处理url携带的参数:封装到字典中
word=input("input a word: ")
data={
  'kw': word
}

#请求发送
res=requests.post(url=url,data=data,headers=headers)
#获取响应数据:json()方法返回的是obj(如果确认响应数据是json类型的,才可以使用json())
dic_obj=res.json()

#持久化存储
filename=word+'.json'
fp=open(filename,'w',encoding='utf-8')
json.dump(dic_obj,fp=fp,ensure_ascii=False)

#打印完成提示
print('finish')

代码逻辑解析如下。

目标URL https://fanyi.baidu.com/sug 的具体位置参考下图所示。

程序运行后的输出结果如下。

案例二:搜狗首页GET请求爬取

案例二:通过GET请求爬取搜狗首页页面数据。

相关实现代码如下。


import requests
if __name__ == "__main__":
  #step_1:指定url
  url = 'https://www.sogou.com/'
  #step_2:发起请求
  #get方法会返回一个响应对象
  response = requests.get(url=url)
  #step_3:获取响应数据.text返回的是字符串形式的响应数据
  page_text = response.text
  print(page_text)
  #step_4:持久化存储
  with open('./sogou.html','w',encoding='utf-8') as fp:
    fp.write(page_text)
  print('爬取数据结束!!!')

该案例的运行结果展示如下。

以上内容涵盖了requests模块的基本使用与两个典型爬虫案例,希望能为读者的学习提供有效帮助,欢迎持续关注本站获取更多技术分享。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。