如何使用Python提取网页中编码的div class及HTML标签数据
Python获取网页指定HTML元素实现方法
前置依赖安装
执行以下命令安装所需第三方库:pip install requests beautifulsoup4 lxml
实现逻辑
- 发送HTTP请求获取目标网页源码,自动适配页面编码避免乱码
- 用BeautifulSoup解析DOM结构
- 分别定位目标class的div元素、带title属性的标签
示例代码
import requests from bs4 import BeautifulSoup import base64 # 目标网页地址 target_url = "替换为你要抓取的网页链接" # 模拟浏览器请求头避免被拦截 request_headers = { "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36" } # 获取页面源码 resp = requests.get(target_url, headers=request_headers) resp.encoding = resp.apparent_encoding html_source = resp.text # 解析HTML soup = BeautifulSoup(html_source, "lxml") # 1. 获取指定class的div内容,替换为你实际要找的class名称 target_div_list = soup.find_all("div", class_="替换为目标div的class值") for div_item in target_div_list: # 打印div完整标签内容 print(f"目标div:{div_item}") # 如需提取div内的文本:div_item.get_text(strip=True) # 如div内容为Base64编码,可按以下方式解码 # encoded_content = div_item.get_text(strip=True) # decoded_content = base64.b64decode(encoded_content).decode("utf-8") # 2. 获取所有带title属性的标签 title_tag_list = soup.find_all(attrs={"title": True}) for tag_item in title_tag_list: print(f"带title属性的标签:{tag_item}") print(f"对应title值:{tag_item['title']}")
参考HTML示例截图

内容的提问来源于stack exchange,提问作者suresh
相关产品推荐
相关产品推荐

