现有一个网页 www.smm.cn
此网页有一个表,表头为: "品名、价格、均价、涨跌、日期",
我想将此表,读入DBF中去。
请老师教我一下。谢谢!
Local oHttp, cc, cc1, ii
oHttp = NewObject('Microsoft.XMLHttp')
oHttp.open('GET', 'http://www.smm.cn/', .f.)
oHttp.send()
Do while oHttp.readyState <> 4
Inkey(0.1)
EndDo
cc = '' + oHttp.responseBody
oHttp = Null
cc = StrExtract(cc, '<div class="tl-price" id="tabs-1">','</table>', 1, 4)
Do while !Empty(StrExtract(cc, '<!--', '-->')) && 去掉 html 注释行
cc = Strtran(cc, StrExtract(cc, '<!--', '-->', 1, 4), '')
EndDo
cc = Chrtran(cc, Space(1), '') && 源码空格不规范,干脆全部去掉
Create Cursor ttt (no I, name V(20), price V(20), aver V(10), change V(10), today V(10))
For ii = 2 to Occurs('<tr', cc)
cc1 = StrExtract(cc, '<tr', '</tr>', ii, 4)
Append Blank
Replace next 1 no with ii - 1
Replace next 1 name with trimtags(StrExtract(cc1, '<tdclass="name"', '</td>', 1, 4))
Replace next 1 ;
price with StrExtract(cc1, '<tdclass="price">', '</td>', 1) ;
, aver with StrExtract(cc1, '<tdclass="aver">', '</td>', 1) ;
, change with StrExtract(cc1, '<tdclass="change">', '</td>', 1) ;
, today with StrExtract(cc1, '<tdclass="today">', '</td>', 1)
EndFor
Locate
Browse
Function trimtags(tcDesc as String)
Local ii
For ii = Occurs('<', tcDesc) to 1 step -1
tcDesc = Strtran(tcDesc, StrExtract(tcDesc, '<', '>', ii, 2+4), '')
EndFor
Return tcDesc
EndFunc
Local oHttp, cc, cc1, ii
oHttp = NewObject('Microsoft.XMLHttp')
oHttp.open('GET', 'http://www.smm.cn/', .f.)
oHttp.send()
Do while oHttp.readyState <> 4
Inkey(0.1)
EndDo
cc = '' + oHttp.responseBody
oHttp = Null
cc = StrExtract(cc, '<div class="tl-price" id="tabs-1">','</table>', 1, 4)
Do while !Empty(StrExtract(cc, '<!--', '-->')) && 去掉 html 注释行
cc = Strtran(cc, StrExtract(cc, '<!--', '-->', 1, 4), '')
EndDo
*-- html 源码空格不规范,干脆都去掉, tr 标签不统一补全一下, 以便后续处理
cc = Chrtran(cc, Space(1), '')
cc = Strtran(cc, '<tr>', '<trclass="">')
Create Cursor ttt (no I, name V(20), price V(20), aver V(10), change V(10), date V(10))
For ii = 2 to Occurs('<trclass="', cc)
cc1 = StrExtract(cc, '<trclass="', '</tr>', ii, 4)
Append Blank
Replace next 1 ;
no With ii - 1 ;
, name With trimtags(Strextract(cc1, '<tdclass="name"', '</td>', 1, 4)) ;
, price With trimtags(Strextract(cc1, '<tdclass="price"', '</td>', 1, 4)) ;
, aver With trimtags(Strextract(cc1, '<tdclass="aver"', '</td>', 1, 4)) ;
, change With trimtags(Strextract(cc1, '<tdclass="change"', '</td>', 1, 4)) ;
, date With trimtags(Evl(Strextract(cc1, '<tdclass="date"', '</td>', 1, 4) ;
, Strextract(cc1, '<tdclass="today"', '</td>', 1, 4)))
EndFor
Locate
Browse
Function trimtags(tcDesc as String)
Local ii
For ii = Occurs('<', tcDesc) to 1 step -1
tcDesc = Strtran(tcDesc, StrExtract(tcDesc, '<', '>', ii, 2+4), '')
EndFor
Return tcDesc
EndFunc
cUrl = 'www.smm.cn'
oForm = NewObject('form')
oForm.AddObject('wb1','olecontrol','Shell.Explorer.2')
oForm.wb1.Visible = .t.
oForm.wb1.navigate(cUrl)
Wait window nowait noclear '正在加载网页 ... ' + cUrl
Do while IsNull(oForm.wb1.Document)
Inkey(0.1)
EndDo
Do while IsNull(oForm.wb1.Document.body)
Inkey(0.1)
EndDo
Do while IsNull(oForm.wb1.Document.getElementById('tabs-1'))
Inkey(0.1)
EndDo
Wait clear
Create Cursor ttt (f1 N(3), f2 V(20), f3 V(20), f4 V(20), f5 V(20), f6 V(20))
ot = oForm.wb1.Document.getElementById('tabs-1').firstElementChild.firstElementChild
ii = 0
For each o1 in ot.children
Append Blank
Replace next 1 f1 with ii
jj = 1
For each o2 in o1.children
jj = jj + 1
ff = Textmerge('f<<jj>>')
If !Empty(Field(ff))
Replace next 1 (ff) with o2.innerText
EndIf
EndFor
ii = ii + 1
EndFor
Store Null to ot, oForm
Locate
Browse
首先要了解对方网页的运行机制 ,这可以用httpwacth或者httplook来看一下http发送和接收的数据。这两个工具应该说是比较简单易懂的。这里就不再介绍了。主要关注的内容是header和post的内容。一般会包括cookie,...
很明显这是个网页爬虫的工作,所谓网页爬虫,就是需要模拟浏览器,向网络服务器发送请求以便将网络资源从网络流中读取出来,保存到本地,并对这些信息做些简单提取,将我们要的信息分离提取出来。 在做网页爬虫...
发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一、Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java ...
近期总结一一些面试题 都是企业的面试题笔记题 感觉薪资10k下的都会出笔试题 特别高的薪资都是直接技术面试或者是 现场编程 总结很多人的面试题,后期会对于单个知识点再说笔记详细讲解。 ...
发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 一、Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,...
前端面试汇总(2020年) ...6、前端数据加密 7、前端http相关问题 8、*前端基础知识点面试题 9、前端技术栈问题 前言 由于新冠肺炎疫情,现在成天呆在家里,加上也要准备面试,就在家里看面试题...
基于arduino 用ESP8266获取DHT11温湿度数据显示在网页上 原理: ESP8266获取DHT11温湿度数据发送到路由器局域网内,局域网内的手机电脑,访问esp的ip地址,获取实时的温湿度数据,每个5秒刷新一次。 网页显示内容: ...
思路如何通过网页查询数据库中的数据1 在各个层创建查询方法2jsp页调用该方法web端 <tbody> <% List<News> newsList=newsService.getNewsList();...
下载Mysql数据并安装:从下面的连接里下载到Mysql数据库,它的版本是mysql-5.5.59-winx64.msi,这个适合Windows 64位版本,如果是linux你自己下载相应的版本。https://dev.mysql.com/downloads/mys...
摘要:本文对机器学习中的UCI数据集进行介绍,带你从UCI数据集官网出发一步步深入认识数据集,并就下载的原始数据详细讲解了不同类型的数据集整理如何通过程序进行整理。为了方便使用,博文中附上了包括数据集整理及...
前端面试题 1.闭包 闭包就是能够读取其他函数内部变量的函数。 闭包的缺点:滥用闭包函数会造成内存泄露,因为闭包中引用到的包裹函数中定义的变量都 永远不会被释放,所以我们应该在必要的...引用数据类型:Objec...
最近使用了Jsoup,感觉还是挺简单,挺方便的,轻而易举地抓取网页源码,分析获取各个标签所需的东西。...本博文主要说明android中使用jsoup如何进行网页数据的获取。具体可看下面各个相关例子: Js
一般使用电脑的朋友大多数都会碰到电脑蓝屏的现象,对于一些工作狂人和学生来说电脑蓝屏有的时候一两个小时都开不了电脑,学习工作分分钟都会受到影响,令人害怕又头疼,那么今天我们就来谈一谈电脑蓝屏如何解决,让...
前端面试题汇总 ... 你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? 21 ... 21 Quirks模式是什么?它和Standards模式有什么区别 21 div+css的布局较table布局有什么优点?...img的alt与title有何异同?...
那么读这些文献时是否有方法可循呢?答案是肯定的。 搜文献的工具 栈长建议大家用谷歌学术搜索,一般1990年后的文章都能在其中找到电子版。而那些年代久远的文献建议大家搜一下扫描版的或者...
一个月之后,嗯~全世界...简单说下我使用PHP爬取web数据常用的三种方法,不仅是分享,也是自己的一次复习吧。 希望对你有所启发与帮助 :)。print_r(“源码在文末”); 1.PHP file_get_contents() file_get_content
C#基础教程-c#实例教程,适合初学者。 第一章 C#语言基础 本章介绍C#语言的基础知识,希望具有C语言的读者能够基本掌握C#语言,并以此为基础,能够进一步学习用C#语言编写window应用程序和Web应用程序。...
如果我们经常需要从网上搞一些数据,如果你只会使用CTRL+C 然后CTRL+V,你就...下面就以利用Matlab来获取网页上的数据为例来简单说明一下,其他程序语言如Python也行,没试过。 Matlab提供了urlread函数来获取网页内
国图页面提供机读格式,可以通过技术手段获取到完整marc数据。本软件使用自己开发的html解析器,无内存泄漏,下载时保证了稳定性。采用多线程技术可以实现高速批量下载。本软件是免费版本只能单条下载。如需高速批量...
转 https://www.zhihu.com/question/20679872 作者:贺易之 链接:... 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。...元(meta),一般被我们翻译成
Java爬虫爬取网页数据 一.简单介绍爬虫 网络爬虫(Web Crawler),又称为网络蜘蛛(Web Spider)或 Web 信息采集器,是一种按照一定规则,自动抓取或下载网络信息的计算机程序或自动化脚本,是目前搜索引擎的重要...
使用PHP技术将数据生成excel文档早就实现了,在这里我就不再多谈了。我想问的是生成 excel文档后在页面中显示,这样子如果想取得新的excel数据不用重新再操作,只要刷新页面就可以了。 我试过, fksjkfjksIE可以...
下载软件:psotman 用于对接口的请求,可以把爬取的数据json、html等各种格式展示出来
但是我们如何将网页表格数据使用python保存为Excel文件? 思路整理: 一般情况下我们能发现网页的表格数据主要是在<table>标签中实现的网页表格数据,这里我们使用Pandas的read_html()方法就可以读取标签中...
最近,由于某些需要,用Java制做了一个网页数据采集器,用于将网页中需要的数据采集下来。</p> 这里使用的方法,是先得到要采集的网页的源代码,然后从源代码中使用正则表达式得到要采集的数据。 ...
由于比较远,我只买了一本 林明璋 写的《用生活尝试就能看懂财务报表》来读。再后来发现了他们做的这个网站 “财报说”。从该网站上我们可以看到各支股票按照 申万行业分类 做成了列表;每只股票都提供了 4年 的资产...
文章目录HTMLHTML的组成标签网页头&网页体基本标签页:开发者工具工具栏,抓包工具==Elements====Console====Network==HeadersGeneralResponse ...它包括一系列标签,通过这些标签可以将网络上的文档格式统一,使分
你从数据库中查询得到的所有数据总和totalCount(这个你需要在dao层定义方法实现并把得到的数据返回给service层) 一共需要分多少页totalPage(这个需要你去计算通过查询所有的数据总和/current
我的这个入门教程特别简单大家按步骤做就行一定没有问题的!源码在下面一个字不少大家认真仔细学 ...这些东西都是百度可以查到的基本知识。 ...2、准备工作就是配置好JAVA运行环境和Tomcat运行环境。...
爬取北邮人招生网页上,各年份中北邮在不同省份各个专业的招生人数,对应的最高分,最低分和平均分。 第2步,分析网页。 北邮人招生网页的网址是: url = 'https:///zsb.bupt.edu.cn/list/list.php?p=5_52_1' ...