发个闲贴,讨论一下

我是学友 2011-09-27 04:04:43
首先发个牢骚,最近不结贴的人貌似多了很多啊!!!最近回了十来个帖子竟然没有一个结贴的,不道德啊,等着拿分呢~~~
真说中谁了也就开个玩笑吧,别介意哦。

最近新被分配了一个任务,做一个类似于家庭助手的界面(公司产品上的),得有每天的最新菜价参考(没错,是菜价),然后是家庭记账功能,每天买菜支出啥的能记上...捎带一说我们经理,很有想法的一个人,做的家庭物联网,卖的终端上要有天气预报,要有黄历,要有每日菜价...

记账器不难搞定,可就是这个每日菜价啊,实在是不好搞,上午有点思路用QNetwork那一系列的类去做,可是想了想,不能把整个网页都搬过去啊,那不是自己的东西啊,怎么才能分析网页中的数据得到自己想要的呢?还有就是,全国的菜价都不一样啊,上海和铁岭的白菜价肯定是不一样的,所以还得有个机制,分析用户的IP地址得出大概的所在地区,然后调用相应地区的当天菜价数据,这又麻烦了,估计得用数据库,再然后就是网站来源的问题,不可能保证每个城市都有自己的每天菜价更新啊,上午看了看也就那么几个大的城市和省份有,头疼啊

欢迎大家来给点意见一起来讨论一下,再次BS一下不结贴的童靴
...全文
154 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhu_xz 2011-09-30
  • 打赏
  • 举报
回复
用QNetworkAccessManager::get就可以获取某个网页
当然如果你要下载网页上的所有图片等,就需要自己解析网页
我是学友 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 zhu_xz 的回复:]
你如果直接从程序上读取别人网页上提供的数据可能有点悬,万一你用到的某个网站某天改变格式了或者你找到更好的数据来源了,你的程序就的升级。所以还是你自己做一个服务器端,然后从这里发布自定义格式的数据,然后在这个服务器上采集不同网站的数据。

你可以用QNetworkAccessManager::get来下载网页,然后自己解析。



另外,直接查看本地IP不靠谱,因为客户端可能是链接到某个……
[/Quote]
有道理,考虑一下
zhu_xz 2011-09-29
  • 打赏
  • 举报
回复
如果你的客户端直接下载网页,还有一个缺陷就是数据量可能太大,不如你自己提供的格式紧凑的数据好。
zhu_xz 2011-09-29
  • 打赏
  • 举报
回复
你如果直接从程序上读取别人网页上提供的数据可能有点悬,万一你用到的某个网站某天改变格式了或者你找到更好的数据来源了,你的程序就的升级。所以还是你自己做一个服务器端,然后从这里发布自定义格式的数据,然后在这个服务器上采集不同网站的数据。

你可以用QNetworkAccessManager::get来下载网页,然后自己解析。



另外,直接查看本地IP不靠谱,因为客户端可能是链接到某个局域网的。如果你有服务器,你直接从服务器上用比如QAbstractSocket::peerAddress查看客户端的地址就好了,这个地址一定是公网的地址。
我是学友 2011-09-29
  • 打赏
  • 举报
回复
Qt怎么能获取网页的源文件啊?我找打一个很帅的网站,有全国大部分城市的菜市场每日菜价更新,我看了看网页的源文件,其中菜价显示部分很容易读取,如下:
          <tr bgcolor="#FFFFFF">
<td height="24">
<a href="price.jsp?category=%CA%DF%B2%CB&product=%D3%CD%B2%CB">油菜价格</a>

</td>
<td>
北京京丰岳各庄批发市场

</td>
<td align="left"> </td>
<td>2.40</td>
<td>1.20</td>
<td><font color="red"><b>1.40</b></font></td>
<td align="center"><a href="priceTrend.jsp?market=%B1%B1%BE%A9%BE%A9%B7%E1%D4%C0%B8%F7%D7%AF%C5%FA%B7%A2%CA%D0%B3%A1&product=%D3%CD%B2%CB"> <img src="/include/v2/swf/price_zs.gif" border="0" title="点击查看北京京丰岳各庄批发市场近期油菜价格走势"></a> </td>
</tr>


现在要解决的问题就是如何在Qt工程中下载网页的源文件了,只要能下载源文件,就能读取,然后就可以显示了,知道的言语一声
我是学友 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 ziyue007 的回复:]
数据来源能稳定支持吗?不过我觉得用sqlite到是不错,数据库小而且速度快!本地存储,喜欢!
[/Quote]

Qt哪些类能分析用户的IP地址啊?就像QQ每次登陆能提示登陆地区一样

知道的冒个泡
ziyue007 2011-09-29
  • 打赏
  • 举报
回复
数据来源能稳定支持吗?不过我觉得用sqlite到是不错,数据库小而且速度快!本地存储,喜欢!
我是学友 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 qter_wd007 的回复:]
也可以使用自己的数据组织方式,不一定数据库吧。

类xml也行?

数据库可以尝试一些轻巧的.
[/Quote]
恩 ,只要数据来源能搞定,数据组织方式就好说,比较爱用sqlite
我是学友 2011-09-29
  • 打赏
  • 举报
回复
追问一点,如何读取网页的源文件并保存源文件?
zhh_kv 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 zhu_xz 的回复:]

你如果直接从程序上读取别人网页上提供的数据可能有点悬,万一你用到的某个网站某天改变格式了或者你找到更好的数据来源了,你的程序就的升级。所以还是你自己做一个服务器端,然后从这里发布自定义格式的数据,然后在这个服务器上采集不同网站的数据。

你可以用QNetworkAccessManager::get来下载网页,然后自己解析。




另外,直接查看本地IP不靠谱,因为客户端可能是链接到某……
[/Quote]


up~~~~~··
乔巴好萌 2011-09-28
  • 打赏
  • 举报
回复
你的数据来源是网页?
数据处理这边别用C++了 用个perl吧 感觉perl这样的语音处理正则或匹配 比QT灵活很多
QT只做界面 里面的逻辑和数据处理可以考虑用其他的脚本语言
qter_wd007 2011-09-28
  • 打赏
  • 举报
回复
也可以使用自己的数据组织方式,不一定数据库吧。

类xml也行?

数据库可以尝试一些轻巧的.
我是学友 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 openxmpp 的回复:]
你的数据来源是网页?
数据处理这边别用C++了 用个perl吧 感觉perl这样的语音处理正则或匹配 比QT灵活很多
QT只做界面 里面的逻辑和数据处理可以考虑用其他的脚本语言
[/Quote]

关键是公司的上位机客户端就是用Qt做的,没办法,先做着看吧,如果实在是不好实现就和经理商量一下别的替代方案
imdemon 2011-09-28
  • 打赏
  • 举报
回复
如果没有中央数据库的话。你岂不是要为每个城市找一个提供菜价的网站?
得到数据的话你可以下载网页。然后把HTML当作文本解析一样。根据事先设定好的规则得到菜价数据。(你搜索一下网页采集器。类似。)
然后导入到你自己的数据库。这样。终端只要读你的数据库就好了
我是学友 2011-09-27
  • 打赏
  • 举报
回复
回复楼上诸位捧场的仁兄:
http://www.qqsjz.com/show.asp?id=163162
就按这个网址来说吧,这个事石家庄的大概菜价信息,就算是比较可靠的数据源网址,打算将来建个数据库,将城市和对应的网站联系起来。
现在是我看过那些QT读取网页的信息,貌似是下载下来整个网页再显示,这个是不行的,怎么才能分析数据只要网站上那些菜价信息?
还有就是如果现在有两个城市菜价信息的网站比较靠谱,肯定是得分析客户的IP来判定归属地(忘了说了,我们公司的客户端要联网),然后在数据库里调用对应的网址,再分析数据,然后显示。
想想这个项目也比较有意思哦
QWER_ASDFASDF 2011-09-27
  • 打赏
  • 举报
回复
这课不好弄 啊
QWER_ASDFASDF 2011-09-27
  • 打赏
  • 举报
回复
前湿~!
Sniper80KG 2011-09-27
  • 打赏
  • 举报
回复
数据来源不好弄啊
beyondma 2011-09-27
  • 打赏
  • 举报
回复
1 分析IP可能不成,电话号码还有可能,分析出地址。
2 数据的话建议形成考虑让用户自己输入然后分享的方式。
ithzhang 2011-09-27
  • 打赏
  • 举报
回复
好像有专门的机构监测蔬菜销售价格的。财经频道经常有报道。不知道他们的数据从哪里来的。给你提供个方向吧。
加载更多回复(3)

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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