首页 > 编程语言 >Python中requests模块(爬虫)基本使用

Python中requests模块(爬虫)基本使用

时间:2024-09-23 18:20:57浏览次数:3  
标签:get Python 爬虫 url print requests data response

Python的requests模块是一个非常流行的HTTP库,用于发送HTTP/1.1请求。

一、模块导入

1、requests模块的下载:

使用包管理器下载,在cmd窗口,或者在项目的虚拟环境目录下:

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests

2、文件内导入requests包:

import requests

二、GET请求

在不需要传递参数,或则传递少量参数时使用

案例:

import requests

response=requests.get(url='https://www.xiaohongshu.com/explore')
print(response.text)

首先导入了requests包,使用get请求语法:requests.get()。括号中可以包括:url参数(访问的地址),params参数(传递的参数),headers(请求头)等,这些参数是有顺序的,如果不指定关键字需要按顺序填入参数,如果只填一个,那一定是url。response接受了requests响应的数据。

如果单独输出response:

输出response.text:那么就会输出你访问的页面的所有代码

需要传参的get请求:

import requests
data = {"key1":"value1","key2":"value2"}
response = requests.get("https://httpbin.org/get",params=data)
print(response.url)

上述代码传递了 一个data对象为参数,使用params的关键字参数。data是我们自己定义的。里面存入了我们要传递的数据。

三、POST请求

需要传递大量参数时使用

import requests
data ={"name":"测试"}
response = requests.post("https://httpbin.org/post",data=data)
print(response.text)

使用方法与get大致相同,只是传递参数的关键字不同,为:data。

四、获得具体数据和保存到本地

1、获取图片

比如我们要获得一个具体的网页上的图片,我们需要找到图片的根地址,然后访问图片的根地址就可以了

案例:

import requests
#获得图片
response=requests.get('https://img20.360buyimg.com/imgzone/jfs/t1/186375/10/42901/145312/66666146F5138cf6a/5fedc8c498a474c5.jpg')
with open('tupian.jpg','wb') as f:
    f.write(response.content)

上述代码中url就是图片的根地址。使用 with 语句打开文件,因为它可以自动管理文件的打开和关闭。open()语句中的第一个参数是要打开的文件地址,第二个参数为打开方式。f就是我们要打开的文件引用。f.write语句就将我们接受到的响应数据的response的content值写入到该文件中,因为图片是二进制数据,所以我们打开时的方式是写入二进制(wb),.content也代表获得的二进制数据。

2、获取JSON

当我们需要将拿到的数据转为json字符串时:

import requests

#获得JSON
response=requests.get("https://httpbin.org/ip")
data=response.json()
print(data)

response.json()可以将拿到的数据转为json字符串形式。当我们输出时会得到:

{'origin': '本机ip'}

因为https://httpbin.org/ip会返回请求的来源 IP 地址。所以输出的就是您的本机ip

转为json串后我们可以对他进行按键取值,比如我们只要origin的值,那么我们可以输出:

print(data['origin'])

五、自定义请求头信息

import requests
header={
    "user-agent":"hoho/v1"
}
response = requests.get('http://httpbin.org/get',headers=header)
print(response.headers)#获得请求头信息
print(response.request.headers)#获得响应头信息

在我们请求时,可以设置headers关键字设置请求头信息。上述代码我们就将头信息中的user-agent设置为:hoho/v1。如果要查看我们设置的头信息,需要使用第二个输出语句

六、查看和设置cookie

cookie值是一些用户的登录信息

1、查看

import requests
#访问目标
url = 'https://www.baidu.com'
header={
    "User-Agent":"Mozilla/5.0"
}
response=requests.get(url=url,headers=header)
print(response.cookies)
print(response.cookies['BAIDUID'])

我们获取cookie需要头信息中的User-Agent与浏览器的一致,所以我们需要设置头信息。获取cookie值:response.cookies

2、设置

import requests
#设置cookies,发起请求时携带cookie数据访问服务端
url='http://httpbin.org/cookies'
cookie=dict(cookies_arg='hello python')
response=requests.get(url=url,cookies=cookie)
print(response.text)

上述代码中定义了一个叫cookie的字典,有一个键名为:cookies_arg,值为:hello python。在访问时,设置关键字cookies的值为我们定义好的字典对象:cookie。如果设置的值完全与目标一样就可以。

标签:get,Python,爬虫,url,print,requests,data,response
From: https://blog.csdn.net/Wgq0731/article/details/142458505

相关文章

  • 【Python调用ddddocr打包成exe文件指定模型库及注意事项】
    ddddocr打包成exe后一直存在各种各样的问题,例如:ddddocr\common.onnxfailed.Filedoesn’texist查阅资料后,问题得到解决。但相关资料不多,且不够详细,特写下本文,以便于后来者解决问题。希望本文能帮到你。目标:为了方便调用,打算分别起三个服务,并且打包成EXE方便......
  • Python 如何读取和写入文件
    Python如何读取和写入文件文件操作是编程中常见的任务,几乎所有编程语言都支持文件的读写功能。在Python中,文件操作简单直观,适用于从初学者到经验丰富的开发者。无论是处理小型文本文件,还是需要处理大型数据文件,Python提供了丰富的工具和方法来完成这些任务。本文将带......
  • Python装饰器(不带参/带参)
    普通装饰器示例普通装饰器通常用于在不修改函数签名的情况下增强函数功能。#定义一个普通装饰器defmy_decorator(func):defwrapper():print("Somethingishappeningbeforethefunctioniscalled.")func()print("Somethingishappenin......
  • Python学习路线
    一、基础阶段Python基础语法学习内容:变量、数据类型(如整数、浮点数、字符串、布尔等)、运算符、控制流语句(如if-else、for、while等)、函数定义与调用等。学习网站及网址:廖雪峰的Python入门教程:https://www.liaoxuefeng.com/wiki/1016959663602400。廖雪峰老师的教程讲解......
  • python 自动化接口测试
                  ......
  • python获取同花顺涨停连板跌停数据代码可用
    importrequestsimportjsonimportpandasaspdclassths_limitup_data:def__init__(self):'''涨停数据'''defget_var(self):'''获取js'''......
  • 【PAT_Python解】1026 程序运行时间
    原题链接:PTA|程序设计类实验辅助教学平台参考资料:1、【Python】1026程序运行时间(15分)_python运行15分钟-CSDN博客2、Python实现PAT乙级1026程序运行时间_pat1026python-CSDN博客3、python3小数位的四舍五入(用两种方法解决round遇5不进)_python_脚本之家Tips......
  • 【PAT_Python解】1025 反转链表
    原题链接:PTA|程序设计类实验辅助教学平台参考资料:1025反转链表(25分)PAT乙级C++/Python版_1025反转链表分数25作者chen,yue单位浙江大学给定一个常数k以及一个-CSDN博客【Python数据结构】反转链表的方法_反转链表python-CSDN博客Python基础算法——反......
  • python基础
    目录basic 标识符、变量、数据类型 标识符关键字字面量literal变量数据类型字符串str列表list元组tuple集合set字典dict 变量的输入与输出数字类型整型int浮点型float复数类型complex 布尔类型bool数字类型的转换:basic *良好的代码格式可提升代码......
  • Python实战:为Prometheus开发自定义Exporter
    Python实战:为Prometheus开发自定义Exporter在当今的微服务架构和容器化部署环境中,监控系统的重要性不言而喻。Prometheus作为一款开源的系统监控和警报工具,以其强大的功能和灵活性受到了广泛的欢迎。然而,Prometheus本身并不直接监控所有类型的服务或应用,这就需要我们为其开发自定......