精易论坛

标题: 怎么获取网页的这个数据? [打印本页]

作者: Mushiyi    时间: 2025-4-15 11:17
标题: 怎么获取网页的这个数据?
用易语言  获取新浪网页上“https://finance.sina.com.cn/realstock/company/sh000002/nc.shtml”,泸深股市概况的数据

作者: hxnr    时间: 2025-4-15 11:48
https://w.sinajs.cn/list=sh000002

补充内容 (2025-4-15 11:48):
GET /list=sh000002 HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: zh-CN,zh;q=0.9
Cache-Control: no-cache
Connection: keep-alive
Host: w.sinajs.cn
Pragma: no-cache
Re...
作者: ly445414237    时间: 2025-4-15 11:56
  
子程序名返回值类型公开备 注
功能_网页访问文本型 本命令由【精易网页调试助手】生成,请配合精易模块使用。
变量名类 型静态数组备 注
局_网址文本型 
局_方式整数型 
ADD_协议头类_POST数据类 
局_提交协议头文本型 
局_结果字节集 
局_返回文本型 
' https://hq.sinajs.cn/rn=1744689276718&list=sh000002_zdp,sz399107_zdp,sh000003_zdp,sz399108_zdp,sz399102_zdp
局_网址 = "https://hq.sinajs.cn/rn=1744689276718&list=sh000002_zdp,sz399107_zdp,sh000003_zdp,sz399108_zdp,sz399102_zdp"
局_方式 = 0
ADD_协议头.添加 ("Host","hq.sinajs.cn")
ADD_协议头.添加 ("Connection","keep-alive")
ADD_协议头.添加 ("sec-ch-ua",""Chromium";v="122", "Not (A:Brand";v="24", "Google Chrome";v="122"")
ADD_协议头.添加 ("sec-ch-ua-mobile","?0")
ADD_协议头.添加 ("User-Agent","Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.95 Safari/537.36")
ADD_协议头.添加 ("sec-ch-ua-platform",""Windows"")
ADD_协议头.添加 ("Accept","*/*")
ADD_协议头.添加 ("Sec-Fetch-Site","cross-site")
ADD_协议头.添加 ("Sec-Fetch-Mode","no-cors")
ADD_协议头.添加 ("Sec-Fetch-Dest","script")
ADD_协议头.添加 ("Referer","https://finance.sina.com.cn/realstock/company/sh000002/nc.shtml")
ADD_协议头.添加 ("Accept-Language","zh-CN,zh;q=0.9")
局_提交协议头 = ADD_协议头.获取协议头数据 ()
局_结果 = 网页_访问 (局_网址, 局_方式, , , , 局_提交协议头, , , , , )
局_结果 = 网页_GZIP解压(局_结果)
局_返回 = 到文本 (编码_编码转换对象 (局_结果))
返回 (局_返回)
' 返回数据被Gzip压缩,调用命令[网页_Gzip解压]需要[Gzip.dll]文件,  将助手根目录下[\gzip.dll]放到源码的根目录才能正常返回数据



作者: ly445414237    时间: 2025-4-15 11:57


作者: 蘇中二少    时间: 2025-4-15 12:01
.子程序 GET访问
.局部变量 访问变量, 网站客户Duan, , , 调用E2EE支持库  http://e2ee.jimstone.com.cn/downloads/
.局部变量 返回数据, 文本型
访问变量.置自动跳转 (真, 10)
访问变量.执行GET (“https://hq.sinajs.cn/rn=1744689272945&list=sh000002_zdp,sz399107_zdp,sh000003_zdp,sz399108_zdp,sz399102_zdp”, 返回数据, 真, “Referer: https://finance.sina.com.cn/realstock/company/sh000002/nc.shtml”)
调试输出 (返回数据)
作者: Mushiyi    时间: 2025-4-16 14:02
ly445414237 发表于 2025-4-15 11:56
[e=0].版本 2

.子程序 功能_网页访问, 文本型, , 本命令由【精易网页调试助手】生成,请配合精易模块使用 ...

返回的是空值啊?
复制gzip.dll放到源码的根目录下了
作者: Mushiyi    时间: 2025-4-16 14:03
hxnr 发表于 2025-4-15 11:48
https://w.sinajs.cn/list=sh000002

补充内容 (2025-4-15 11:48):

有执行源码吗?
作者: 不如沉默。    时间: 2025-4-18 10:48
[JavaScript] 纯文本查看 复制代码
.版本 2

.支持库 eAPI

.程序集 窗口程序集1

.子程序 _启动子程序
.局部变量 网页内容, 文本型
.局部变量 股市数据, 文本型

' 获取网页内容
网页内容 = 网页_获取 (“https://finance.sina.com.cn/realstock/company/sh000002/nc.shtml”)

' 提取泸深股市概况数据(示例:查找特定的HTML标签或文本)
股市数据 = 网页内容.查找 (“泸深股市概况”, 真, 真)

' 输出股市数据
输出调试文本 (股市数据)

' 保存网页内容到文件(可选)
文件写入 (“网页内容.html”, 网页内容, 编码_UTF8)

.子程序 网页_获取, 文本型
.参数 URL, 文本型
.局部变量 网络句柄, 整数型
.局部变量 连接句柄, 整数型
.局部变量 请求句柄, 整数型
.局部变量 网页内容, 文本型
.局部变量 缓冲区, 文本型
.局部变量 字节数, 整数型

' 初始化网络连接
网络句柄 = InternetOpenA (“易语言网页请求”, 1, 0, 0, 0)

.如果 (网络句柄 = 0)
    返回 (“网络初始化失败!”)
.如果结束

' 打开URL连接
连接句柄 = InternetOpenUrlA (网络句柄, URL, 0, 0, 0, 0)

.如果 (连接句柄 = 0)
    InternetCloseHandle (网络句柄)
    返回 (“连接失败!”)
.如果结束

' 读取网页内容
缓冲区 = 重复文本 (“”, 4096)
字节数 = 0
网页内容 = “”

.重复
    字节数 = InternetReadFile (连接句柄, 缓冲区, 4096, 字节数)
    .如果 (字节数 = 0)
        跳出循环 ()
    .如果结束
    网页内容 += 缓冲区.子文本 (0, 字节数)
.直到 (假)

' 关闭网络连接
InternetCloseHandle (连接句柄)
InternetCloseHandle (网络句柄)

返回 (网页内容)

.外部库 WinINet.dll
.DLL命令 InternetOpenA, 整数型
.参数 代理, 文本型
.参数 代理类型, 整数型
.参数 代理数据, 整数型
.参数 保留, 整数型
.参数 标志, 整数型

.DLL命令 InternetOpenUrlA, 整数型
.参数 网络句柄, 整数型
.参数 URL, 文本型
.参数 头信息, 文本型
.参数 头信息长度, 整数型
.参数 标志, 整数型
.参数 保留, 整数型

.DLL命令 InternetReadFile, 整数型
.参数 连接句柄, 整数型
.参数 缓冲区, 文本型
.参数 缓冲区大小, 整数型
.参数 读取字节数, 整数型

.DLL命令 InternetCloseHandle, 整数型
.参数 句柄, 整数型





欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4