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

如何使用BeautifulSoup直接读取网页链接内容代替手动粘贴页面源码

Python通过URL直接获取网页内容的代码修改方案

核心替换部分

你原有代码中手动定义空html_doc三重引号字符串的整段代码需要替换,其余BeautifulSoup解析逻辑无需改动。推荐优先使用requests库实现,比urllib系列上手门槛更低。


方案1:使用requests库实现(推荐)

  1. 先执行安装命令:
    pip install requests
  2. 修改后完整代码:
from bs4 import BeautifulSoup
import re
import requests

# 替换为你需要爬取的目标网页链接
target_url = "https://你的目标网页地址"
# 添加请求头模拟浏览器访问,避免被基础反爬拦截
req_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"
}

# 发送GET请求获取网页内容
resp = requests.get(target_url, headers=req_headers)
# 自动匹配编码,避免中文乱码
resp.encoding = resp.apparent_encoding

# 原有解析逻辑完全保留
soup = BeautifulSoup(resp.text, 'html.parser')
dev = soup.find_all('span', {'class': 'title'})

方案2:使用urllib3实现

如果你坚持用urllib3,修改后完整代码如下:

from bs4 import BeautifulSoup
import re
import urllib3

target_url = "https://你的目标网页地址"
req_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"
}

# 创建连接池发送请求
http_pool = urllib3.PoolManager()
resp = http_pool.request('GET', target_url, headers=req_headers)
# 解码获取网页源码
html_doc = resp.data.decode('utf-8')

# 原有解析逻辑完全保留
soup = BeautifulSoup(html_doc, 'html.parser')
dev = soup.find_all('span', {'class': 'title'})

注意:部分网站有反爬限制,添加User-Agent可规避大部分基础拦截,若遇到需要登录、校验验证码的场景需要额外调整请求逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 03:54:05