VFP如何实现将一个网页内容存为表中的备注字段或存为TXT

mmadd3 2007-10-31 01:06:36
我想将“http://xoap.weather.com/weather/local/CHXX0434?cc=*&dayf=10&par=0&prod=xoap&key=0&unit=m”里的内容存到一个表如A.dbf的备注中去,或存为一个TXT文件。VFP如何实现?要求不显示打开的网站(即在后台运行网址,并将所要的内容保存到目标文件)。谢谢。
...全文
234 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mmadd3 2007-11-03
  • 打赏
  • 举报
回复
大哥,不行啊,提示出错。我给你发邮件了,帮看看,谢谢
十豆三 2007-11-03
  • 打赏
  • 举报
回复
以下是VFP9.0方法:

CREATE TABLE 天气预报 (日期 D,最高温 I,最低温 I,天气 C(20),湿度 I)
DECLARE INTEGER URLDownloadToFile IN urlmon.dll;
INTEGER pCaller, STRING szURL, STRING szFileName,;
INTEGER dwReserved, INTEGER lpfnCB
LOCAL lcRemoteFile, lcLocalFile
lcRemoteFile = "http://xoap.weather.com/weather/local/CHXX0434?cc=*&dayf=10&par=0&prod=xoap&key=0&unit=m "
lcLocalFile = "c:\weather.txt"
=URLDownloadToFile(0,lcRemoteFile,lcLocalFile,0,0)

lcDateSet=SET("Date")
SET DATE TO MDY
lcWeather=FILETOSTR("c:\weather.txt")
ldDate=CTOD(LEFT(STREXTRACT(lcWeather,"<lsup>","</lsup>",2),8))
FOR I=1 TO 10
lcTC=STREXTRACT(lcWeather,'<part p="d">',"<wind>",I)
lcTC=STREXTRACT(lcTC,'<t>','</t>')
lcSD=STREXTRACT(lcWeather,'<part p="n">',"</part>",I)
lnSD=VAL(STREXTRACT(lcSD,'<hmid>','</hmid>'))
INSERT INTO 天气预报 (日期,最高温,最低温,天气,湿度) VALUES (ldDate+I-1,VAL(STREXTRACT(lcWeather,"<hi>","</hi>",I)),VAL(STREXTRACT(lcWeather,"<low>","</low>",I)),lcTC,lnSD)
ENDFOR
SET DATE TO (lcDateSet)
BROWSE &&看一下吧
十豆三 2007-11-03
  • 打赏
  • 举报
回复
你用的是VFP6.0吧,因为6.0没有STREXTRACT函数,所以会报错。
十豆三 2007-11-03
  • 打赏
  • 举报
回复
你用到那个例子报错,那行报错,报什么错,说详细一些。
我没有收到你的邮件!
十豆三 2007-11-01
  • 打赏
  • 举报
回复
如果行<sunr>所在行始终是第18行,用以下方法也可以

SET MEMOWIDTH TO 8192
?STREXTRACT(MLINE(FILETOSTR('C:\XXX.TXT'),18),"<sunr>","</sunr>")
十豆三 2007-11-01
  • 打赏
  • 举报
回复
?STREXTRACT(FILETOSTR('C:\XXX.TXT'),"<sunr>","</sunr>",1) &&最后一1表示第1次出现
?STREXTRACT(FILETOSTR('C:\XXX.TXT'),"<sunr>","</sunr>",2) &&最后一2表示第2次出现
mmadd3 2007-10-31
  • 打赏
  • 举报
回复
谢谢,谢谢。如果能有注释就更好了,不过不紧。还是谢谢楼上。

楼上是十豆三?听说你很高手哦。见过你好多的贴。



能再解决个问题吗?

就是上题中,假如我想提取已经存好的文件,如上题的"c:\xxx.txt"中第18行(即<sunr>6:45 AM</sunr>)中间的数字"6:45",存到已有表A.bdf的时间字段中去(此表已建好"时间"等多个字段),请问如何实现?谢谢。


注:所存的"c:\xxx.txt"文件是一种固定的格式,"< >"中的内容不会改变,其他数字的英文会不同,所以要提取。
换句话说,上面的网站(http://xoap.weather.com/weather/local/CHXX0434?cc=*&dayf=10&par=0&prod=xoap&key=0&unit=m)是一个能提供10天详细天气预报的网址,怎样才能将网站上面的各个数据如温度、湿度、风力、时间等提取到DBF表中去,谢谢,重谢。我的QQ16950052。
十豆三 2007-10-31
  • 打赏
  • 举报
回复
DECLARE INTEGER URLDownloadToFile IN urlmon.dll;
INTEGER pCaller, STRING szURL, STRING szFileName,;
INTEGER dwReserved, INTEGER lpfnCB

LOCAL lcRemoteFile, lcLocalFile
lcRemoteFile = "http://xoap.weather.com/weather/local/CHXX0434?cc=*&dayf=10&par=0&prod=xoap&key=0&unit=m"
lcLocalFile = "c:\xxx.txt"

= URLDownloadToFile (0, lcRemoteFile, lcLocalFile, 0, 0)

2,723

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧