You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Requests以隐身模式打开URL(无需Selenium/Playwright)

如何用Requests获取Medium完整文章内容

Medium会根据请求的特征判断访问来源,你用Requests只能拿到一半内容,是因为默认的请求头和隐身浏览器的请求特征不匹配,Medium识别后限制了内容展示。

Requests本身没有“隐身模式”功能,但可以通过模拟隐身浏览器的请求头绕过这个限制,具体操作如下:

  • 打开浏览器隐身模式,访问目标文章,用开发者工具的Network面板查看真实请求的头信息,重点提取User-Agent、Accept、Accept-Language这些核心字段;
  • 在Requests请求中带上这些自定义请求头,同时确保不携带任何Cookie(隐身模式下浏览器无历史Cookie)。

修改后的代码示例:

from bs4 import BeautifulSoup
import requests

# 模拟隐身Chrome的请求头,可根据自己浏览器的实际请求头调整
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
    "Accept-Language": "zh-CN,zh;q=0.9",
    "Upgrade-Insecure-Requests": "1",
    "Connection": "keep-alive"
}

# 发送请求时携带自定义头,同时清空Cookie模拟隐身状态
html = requests.get("https://duregger.medium.com/growth-hacking-25e1db3b79cc", headers=headers, cookies={})
bs = BeautifulSoup(html.text, 'html.parser')

# 提取文章主体内容
article_body = bs.find("div", class_="pw-post-body")
if article_body:
    print(article_body.get_text(strip=True))

如果后续Medium更新反爬策略,可能需要偶尔更换User-Agent或调整请求头字段,但当前场景下模拟隐身请求头基本能解决问题。

内容的提问来源于stack exchange,提问作者Ujjal Baniya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 02:10:33