用C如何读取一个网页内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C如何读取一个网页内容相关的知识,希望对你有一定的参考价值。
比如, 我要读取127.0.0.1/1.txt
如何实现
有一个API函数叫 URLDownloadToFile(), 用起来特简单。只要一句:
URLDownloadToFile(NULL, url, filename, 0, NULL);
其中url是你需要的文件,filename是下载到本机后的本地文件名。例如:
URLDownloadToFile(NULL, "http://127.0.0.1/1.txt", "C:\\temp\\1.txt", 0, NULL);
下面处理C:\temp\1.txt就可以了。
这个函数在urlmon.h中有说明;需使用urlmon.lib. 有关参数意义请自己查。好像最后一个参数是指定回调函数,可以检查下载状态。但我从来没指定过。从远程站点一次下载很多文件时特别好用。我曾经用它循环起来,一次下载两千多个SWF文件。
但要注意:较大的文件不一定下载完全;有些站点可能检查链接源,限制下载。 参考技术A 需要结合到网络编程了,标准c语言只能操作本地的文件
所以,需要用到更深入的知识了,如socket等
python如何读取网页中的数据
想读取远程指定网页中的数据,如-当前在线交流人总数。如何实现
用Beautiful Soup这类解析模块:
Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖析树(parse tree);
它提供简单又常用的导航(navigating),搜索以及修改剖析树的操作;
用urllib或者urllib2(推荐)将页面的html代码下载后,用beautifulsoup解析该html;
然后用beautifulsoup的查找模块或者正则匹配将你想获得的内容找出来,就可以进行相关处理了,例如:
from BeautifulSoup import BeautifulSouphtml = '<html><head><title>test</title></head><body><p>test body</p></body></html>'
soup = BeautifulSoup(html)
soup.contents[0].name
# u'html'
soup.comtents[0].contents[0].name
# u'head'
head = soup.comtents[0].contents[0]
head.parent.name
# u'html'
head.next
# u'<title>test</title>
如果你说的是某个URL指向的网页内容,那就要用urllib2模块来抓取网页咯。 参考技术B 就是属于网页抓取,可参考:
如何用Python,C#等语言去实现抓取静态网页 模拟登陆网站
里面有逻辑解释和代码。
(此处不能贴地址,可以通过google搜标题,即可找到帖子地址) 参考技术C 用Beautiful Soup这类解析模块
Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖析树(parse tree)。它提供简单又常用的导航(navigating),搜索以及修改剖析树的操作。
用urllib或者urllib2(推荐)将页面的html代码下载后,用beautifulsoup解析该html
然后用beautifulsoup的查找模块或者正则匹配将你想获得的内容找出来,就可以进行相关处理了
例子:
from BeautifulSoup import BeautifulSoup
html = '<html><head><title>test</title></head><body><p>test body</p></body></html>'
soup = BeautifulSoup(html)
soup.contents[0].name
# u'html'
soup.comtents[0].contents[0].name
# u'head'
head = soup.comtents[0].contents[0]
head.parent.name
# u'html'
head.next
# u'<title>test</title>
剩下的自己看文档吧
参考资料:http://wenku.baidu.com/view/c4ad3afa770bf78a6529548f.html
本回答被提问者采纳以上是关于用C如何读取一个网页内容的主要内容,如果未能解决你的问题,请参考以下文章
用Autoit编程软件,如何读取屏幕上的信息?Autoit高手进!