爬虫_requests

1.基本使用

1.1 文档

官方文档:

  http://cn.python-requests.org/zh_CN/latest/

快速上手:

  http://cn.python-requests.org/zh_CN/latest/user/quickstart.html

1.2.安装

pip install requests

pip install requests -i https://pypi.douban.com/simple

1.3.response的属性及类型

类型:models.Response

r.text: 获取网站源码

r.encoding: 访问或定制编码方式

r.url: 获取请求的url

r.content: 响应的字节类型

r.status_code: 响应的状态码

r.headers: 响应的头信息

复制代码
import requests

url= 'http://www.baidu.com'
#一个类型和六个属性
response = requests.get(url=url)
print(type(response))

#设置响应的编码格式
response.encoding='utf-8'

#以字符串的形式来返回了网页的源码(常用)
print(response.text)

#返回一个url地址
print(response.url)

#返回二进制数据
print(response.content)

# 返回响应的状态码
print(response.status_code)

# 返回的是响应头信息
print(response.headers)
复制代码

2.request的get请求

复制代码
import requests
url='https://www.baidu.com/s?'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36'
}
data={
    'wd':'北京'
}
# url 请求资源路径
# params 参数
# kwargs 字典
response = requests.get(url=url,params=data,headers=headers)
content = response.text
print(content)
# 总结:
# (1)参数使用params传递
# (2)参数无需urlencode编码
# (3)不需要请求对象定制
# (4)请求资源路径中的?可以加也可以不加
复制代码

 3.request的post请求

复制代码
import requests
url = 'https://fanyi.baidu.com/sug'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36'
}
data={
    'kw':'eye'
}
# url 请求地址
# data 请求参数
# kwargs 字典
response = requests.post(url=url,data=data,headers=headers)
content = response.text

# 利用json解决中文乱码问题
import json
obj = json.loads(content)
print(obj)

# 总结:
# (1)post请求是不需要编解码
# (2)post请求的参数是data
# (3)不需要请求对象的定制
复制代码

4.get和post的区别?

(1)get请求的参数名字是params,post请求的参数名字是data

(2)请求资源路径后面可以不加“?”

(3)post不需要手动编解码

(4)不需要做请求对象的定制

5.request的代理

复制代码
import requests
# 请求资源地址
url = 'http://www.baidu.com/s?'
# 请求头
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36'
}
#请求参数
data = {
    'wd':'ip'
}
# 代理ip,IP要是不好使你就花钱买一个
proxy = {
    'http':'121.230.210.31:2356'
}
response = requests.get(url=url,params=data,headers=headers,proxies=proxy)
content = response.text
with open('daili.html','w',encoding='utf-8')as fp:
    fp.write(content)
复制代码

 

代码地址:https://gitee.com/heating-cloud/python_spider.git

posted @   创客未来  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示