Python—requests的使用及案例

简介: Python—requests的使用及案例

1、基本使用

1.1、安装

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

1.2、一个类型和六个方法

一个类型: Response

六个属性:

response.encoding = ‘utf-8’      设置网页编码格式

response.text          以字符串形式返回网页源码

response.url          获取请求的url

response.content           返回二进制数据

response.status_code      返回响应的状态码

response.headers           返回响应头


2、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/103.0.0.0 Safari/537.36'
}
data = {
    'wd':'北京'
}
response = requests.get(url=url,params=data,headers=headers)
content = response.text
print(content)

3、post请求

应用实例

import json
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/103.0.0.0 Safari/537.36'
}
data = {
    'kw':'eye'
}
response = requests.post(url=url,data=data,headers=headers)
content = response.text
obj = json.loads(content)
print(obj)

4、代理

应用实例

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/103.0.0.0 Safari/537.36'
}
data = {
    'wd':'ip'
}
proxy = {
    'http':'183.246.170.14:30001'
}
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)

5、cookie登录古诗文网

import requests
from lxml import etree
from bs4 import BeautifulSoup
# 登录页面的地址
url = 'https://so.gushiwen.cn/user/login.aspx?from=http://so.gushiwen.cn/user/collect.aspx'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
}
response  = requests.get(url=url,headers=headers)
content = response.text
tree = etree.HTML(content)
# (1) 获取 __VIEWSTATE
viewstate = tree.xpath('//input[@id="__VIEWSTATE"]/@value')
# (2) 获取 __VIEWSTATEGENERATOR
viewstategenerntor = tree.xpath('//input[@id="__VIEWSTATEGENERATOR"]/@value')
# (3) 获取验证码图片
code = tree.xpath('//img[@id="imgCode"]/@src')[0]
code_url = 'https://so.gushiwen.cn' + code
# 下载验证码图片到本地,然后输入
session = requests.session()
# 验证码的url内容
response_code = session.get(code_url)
# 注意此时要使用二进制,因为我们要使用图片的下载
content_code = response_code.content
with open("code.jpg", "wb") as fp:
    fp.write(content_code)
code_name = input('请输入你的验证码:')
# 点击登录
url_post = 'https://so.gushiwen.cn/user/login.aspx?from=http%3a%2f%2fso.gushiwen.cn%2fuser%2fcollect.aspx'
data_post = {
    '__VIEWSTATE':viewstate,
    '__VIEWSTATEGENERATOR':viewstategenerntor,
    'from': 'http://so.gushiwen.cn/user/collect.aspx',
    'email': '15284124517',
    'pwd': 'xy251753',
    'code': code_name,
    'denglu': '登录'
}
response_post = session.post(url=url_post,headers=headers,data=data_post)
content_post = response_post.text
with open("gushiwen.html", "w", encoding='utf-8') as fp:
    fp.write(content_post)






相关文章
|
5天前
|
数据采集 前端开发 算法
Python Requests 的高级使用技巧:应对复杂 HTTP 请求场景
本文介绍了如何使用 Python 的 `requests` 库应对复杂的 HTTP 请求场景,包括 Spider Trap(蜘蛛陷阱)、SESSION 访问限制和请求频率限制。通过代理、CSS 类链接数控制、多账号切换和限流算法等技术手段,提高爬虫的稳定性和效率,增强在反爬虫环境中的生存能力。文中提供了详细的代码示例,帮助读者掌握这些高级用法。
Python Requests 的高级使用技巧:应对复杂 HTTP 请求场景
|
13天前
|
网络协议 数据库连接 Python
python知识点100篇系列(17)-替换requests的python库httpx
【10月更文挑战第4天】Requests 是基于 Python 开发的 HTTP 库,使用简单,功能强大。然而,随着 Python 3.6 的发布,出现了 Requests 的替代品 —— httpx。httpx 继承了 Requests 的所有特性,并增加了对异步请求的支持,支持 HTTP/1.1 和 HTTP/2,能够发送同步和异步请求,适用于 WSGI 和 ASGI 应用。安装使用 httpx 需要 Python 3.6 及以上版本,异步请求则需要 Python 3.8 及以上。httpx 提供了 Client 和 AsyncClient,分别用于优化同步和异步请求的性能。
python知识点100篇系列(17)-替换requests的python库httpx
|
21天前
|
存储 网络协议 API
详解Python中的Requests会话管理
详解Python中的Requests会话管理
|
26天前
|
iOS开发 MacOS Python
Python 编程案例:谁没交论文?输出并生成电子表格
Python 编程案例:谁没交论文?输出并生成电子表格
23 9
|
23天前
|
数据采集 前端开发 NoSQL
Python编程异步爬虫实战案例
Python编程异步爬虫实战案例
38 2
|
23天前
|
数据采集 自然语言处理 API
Python反爬案例——验证码的识别
Python反爬案例——验证码的识别
28 2
|
24天前
|
iOS开发 MacOS Python
Python编程小案例—利用flask查询本机IP归属并输出网页图片
Python编程小案例—利用flask查询本机IP归属并输出网页图片
18 1
|
26天前
|
存储 大数据 Python
案例学Python:filter()函数的用法,高级!
`filter()`函数是Python中处理序列数据的强大工具,它允许我们高效地根据条件过滤元素。通过结合匿名函数、常规函数或直接利用Python的内置逻辑,`filter()`提供了灵活且高效的过滤机制,尤其在大数据处理和内存敏感的应用中展现出其价值。掌握 `filter()`的使用,不仅能提升代码的可读性和效率,还能更好地适应Python的函数式编程风格。
27 2
|
26天前
|
IDE 开发工具 iOS开发
Python编程案例:查找指定文件大小的文件并输出路径
Python编程案例:查找指定文件大小的文件并输出路径
18 3
|
26天前
|
文件存储 iOS开发 MacOS
Python编程案例:文件查找并归类
Python编程案例:文件查找并归类
16 2