|
|
发表于 2025-6-7 10:41:23
|
显示全部楼层
你看看你这个帖子多少人回复就知道了 。
就你说的 Pyqt图形界面+Python request网络编程+beautysoup xml 只能暴漏你的无知。pandas玩过么? 会量化么?
C++不行?C#不行?java不行?不能做界面?
还 request网络编程不就是http么?不就是调用各种库么?
beautysoup xml不就是解析HTML XML 。
随手写一个抓取百度首页的 抓取到再解析HTML就是了 就提取Meta标签就是 ,这么简单还拿出来秀,换成读秀不就是一样调URL解析HTML么?
from urllib import request
from html.parser import HTMLParser
# 创建自定义HTML解析器来提取meta标签
class MetaParser(HTMLParser):
def __init__(self):
super().__init__()
self.meta_tags = []
self.in_meta = False
self.current_meta = {}
def handle_starttag(self, tag, attrs):
if tag == "meta":
self.in_meta = True
self.current_meta = dict(attrs)
self.meta_tags.append(self.current_meta)
def handle_endtag(self, tag):
if tag == "meta":
self.in_meta = False
def handle_data(self, data):
pass # 不需要处理标签内的文本内容
url = "https://www.baidu.com"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
}
try:
# 创建请求并获取响应
req = request.Request(url, headers=headers)
with request.urlopen(req, timeout=10) as response:
html = response.read().decode("utf-8")
# 解析HTML提取meta标签
parser = MetaParser()
parser.feed(html)
print("成功获取百度首页HTML!")
print(f"共找到 {len(parser.meta_tags)} 个<meta>标签\n")
# 打印所有meta标签的属性和值
print("================== META标签内容 ==================")
for i, meta in enumerate(parser.meta_tags, 1):
print(f"Meta标签 #{i}:")
for attr, value in meta.items():
print(f" {attr}: {value}")
print("-" * 50)
except Exception as e:
print(f"请求出错: {e}")
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|