"Python Requests实现轻量级爬虫,发送URL请求"
需积分: 0 142 浏览量
更新于2024-01-02
收藏 1.96MB DOCX 举报
import requests
url = 'http://127.0.0.1:5000/testcss/handleAjax'
headers = {'user-agent': 'my-app;Requests 轻量级爬虫1.0'}
response = requests.get(url, headers=headers)
# 正常响应状态码为 200
if response.status_code == 200:
# 获取响应内容
content = response.text
# 处理响应内容...
# 使用字典形式发送请求的参数
payload = {'key1': 'value1', 'key2': 'value2'}
response = requests.get(url, params=payload, headers=headers)
if response.status_code == 200:
# 处理响应内容...
# 发送 POST 请求
data = {'key1': 'value1', 'key2': 'value2'}
response = requests.post(url, data=data, headers=headers)
if response.status_code == 200:
# 处理响应内容...
# 处理异常情况
else:
print('POST 请求失败')
# 处理异常情况
else:
print('GET 请求失败')
# 处理异常情况
else:
print('请求失败')
Python的requests库是一个轻量级的HTTP请求库,适用于发送各种类型的请求,包括GET、POST等。本文将介绍如何使用requests库进行轻量级爬虫开发。
首先,我们需要导入requests库,并设置请求的URL和Headers。在这个示例中,我们将发送HTTP GET请求到'http://127.0.0.1:5000/testcss/handleAjax'这个URL,并设置Headers中的'user-agent'字段为'my-app;Requests 轻量级爬虫1.0'。
接下来,我们使用requests.get()方法发送请求,并获取响应结果。正常情况下,响应的状态码应该是200,表示请求成功。我们可以通过response.status_code来获取状态码。
如果响应状态码为200,我们可以通过response.text来获取响应内容,并对内容进行处理。
除了发送GET请求,requests库还支持使用params参数发送带参数的GET请求。我们可以使用字典形式传递参数,例如payload = {'key1': 'value1', 'key2': 'value2'},然后将这个字典作为params参数传递给get()方法。这样,我们就可以发送带参数的GET请求。
如果我们需要发送POST请求,可以使用requests.post()方法,并传递data参数来发送POST请求的数据。与发送GET请求类似,我们可以将需要发送的数据存储在一个字典中,例如data = {'key1': 'value1', 'key2': 'value2'},然后将这个字典作为data参数传递给post()方法。
在处理异常情况时,我们可以根据response.status_code的值来进行处理。如果请求失败,即status_code不为200,可以打印出错误信息。
通过上述步骤,我们可以利用Python的requests库轻松实现一个简单的爬虫程序。由于requests库使用简单,还提供了丰富的功能和扩展性,因此非常适合用于开发各种类型的爬虫程序。
2022-08-04 上传
2018-07-03 上传
2023-10-24 上传
2019-01-06 上传
2022-03-14 上传
2024-05-27 上传
2024-04-20 上传
简甜XIU09161027
- 粉丝: 33
- 资源: 310
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析