编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

Python-实战-requests库标准入门姿势

wxchong 2025-06-04 02:20:51 开源技术 11 ℃ 0 评论

Requests: 让 HTTP 服务人类

Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。

Requests 允许你发送纯天然,植物饲养的 HTTP/1.1 请求,无需手工劳动。你不需要手动为 URL 添加查询字串,也不需要对 POST 数据进行表单编码。Keep-alive 和 HTTP 连接池的功能是 100% 自动化的,一切动力都来自于根植在 Requests 内部的 urllib3。

Requests赞美不觉

Armin Ronacher

Requests 是一个完美的例子,它证明了通过恰到好处的抽象,API 可以写得多么优美。

Matt DeBoard

我要想个办法,把 @kennethreitz 写的 Python requests 模块做成纹身。一字不漏。

Daniel Greenfeld

感谢 @kennethreitz 的 Requests 库,刚刚用 10 行代码炸掉了 1200 行意大利面代码。今天真是爽呆了!

Kenny Meyers

Python HTTP: 疑惑与否,都去用 Requests 吧。简单优美,而且符合 Python 风格。

准本工作

#安装
pip install requests
# 查看版本信息
#pip show requests
#WARNING: Ignoring invalid distribution -irsearch (c:\program files\python3-10\lib\site-packages)
#Name: requests
#Version: 2.27.1
#Summary: Python HTTP for Humans.
#Home-page: https://requests.readthedocs.io

使用实例

# 标准姿势 请收藏
import requests
import random

def getHTMLText(url):
    headers = {
    'user-agent': random.choice(ua_list1) # 下节分享浏览器客户端用户代理
    }
    print(headers)
    try:
        #r=requests.get(url,headers=headers,timeout=10)# 使用用户代理
				r=requests.get(url,timeout=10) # requests 标准请求
        r.raise_for_status() #如果状态不是200,引发HTTPerror
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return "产生异常"
    
if __name__ == "__main__":
    url= 'https://www.toutiao.com/article/7190548174107378228/'
    print(getHTMLText(url))


使用requests请求头条会发现返回页面为JS加密密文,如果完美展示需要用到JS逆向相关知识。

欢迎沟通交流

目前也通过requests库实现了一些爬虫工具,但面对大厂反爬虫手段,我们有两步路可以走,第一种方法:自动化测试技术规避

第二种方法:死磕大厂,逆向JS

欢迎志同道合的朋友分享学习。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表