Python3爬虫发送请求的知识点实例
在使用Python实现爬虫程序时,经常需要发送请求获取网页内容。本攻略将讲解Python3中常用的发送请求的知识点和实例。
1. 发送GET请求
使用Python3发送GET请求的方式很简单,只需使用requests
库的get
方法即可,示例如下:
import requests
response = requests.get('http://example.com')
print(response.text) # 打印网页内容
以上代码中,使用requests.get
方法发送http://example.com
的GET请求,并将响应内容存储到response
变量中。response.text
即获取网页内容。如果需要带参数发送GET请求,只需在URL中添加参数即可,示例如下:
import requests
params = {'param1': 'value1', 'param2': 'value2'}
response = requests.get('http://example.com', params=params)
print(response.text) # 打印网页内容
以上代码中,使用params
参数在URL中添加待发送的参数,参数的形式为字典类型。发送请求时,调用requests.get
方法,并传递params
参数即可。
2. 发送POST请求
发送POST请求比发送GET请求稍微复杂一些,需要在requests.post
方法中传递data
参数。该参数为发送POST请求时带的数据,示例如下:
import requests
data = {'key1': 'value1', 'key2': 'value2'}
response = requests.post('http://example.com', data=data)
print(response.text) # 打印网页内容
以上代码中,使用data
参数将待发送的数据以字典形式传递给requests.post
方法。该方法会构造POST请求,并将数据发送到指定的URL。与发送GET请求类似,若需要带参数发送POST请求,只需在URL中添加参数即可。
3. 使用代理服务器发送请求
有时为了保护自己的IP地址,或获取某些网站的内容,我们需要使用代理服务器发送请求。使用requests
库发送请求时,我们可以设置代理服务器的IP地址和端口号。示例如下:
import requests
proxies = {'http': 'http://10.10.1.10:3128', 'https': 'http://10.10.1.10:1080'}
response = requests.get('http://example.com', proxies=proxies)
print(response.text) # 打印网页内容
以上代码中,使用proxies
参数将代理服务器的IP地址和端口号传递给requests.get
方法。proxies
参数以字典形式传递,其中http
为HTTP代理,https
为HTTPS代理。
示例说明
以下是两个示例,展示如何使用Python发起GET请求和POST请求:
示例1:使用Python对百度搜索进行查询
import requests
params = {'wd': 'Python'}
response = requests.get('https://www.baidu.com/s', params=params)
print(response.text) # 打印网页内容
以上代码中,先使用params
参数将待发送的搜索关键字传递给requests.get
方法。然后该方法会构造GET请求并发送到百度搜索结果页面。最后,使用response.text
获取搜索结果页面的内容。
示例2:使用Python模拟登录Github
import requests
login_url = 'https://github.com/session'
data = {'login': 'username', 'password': 'password'}
response = requests.post(login_url, data=data)
if response.status_code == 200:
print('登录成功') # 打印登录成功信息
else:
print('登录失败') # 打印登录失败信息
以上代码中,先使用data
参数将待发送的用户名和密码以字典形式传递给requests.post
方法。然后该方法会构造POST请求并发送到Github的登录页面。最后根据response.status_code
判断登录结果。如果返回码为200,则表示登录成功。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python3爬虫发送请求的知识点实例 - Python技术站