动态获取网页上面的所有数据(C#)

I永超 2013-07-08 06:37:53
大家帮个忙吧
这个网址:http://ent.qq.com/star/shouye2012/gangtai.htm我想要获取到所有分页的数据,现在我已经能够获取当前页上面的数据了其他页面的怎么获取呀...
这个网站有多少页怎么获取呀?因为这个网站上面每天都会更新数据,页数在不断变化,我想动态获取它有多少页,怎么获取呀?是使用正则表达式吗?
...全文
844 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
ztszhq 2013-07-09
  • 打赏
  • 举报
回复
引用 4 楼 geass 的回复:
动态地址 http://ent.qq.com/c/gtxw_{page}.htm
获取一次 地址,在获取的html字符串中 找到 <script type="text/javascript"> var getString = new SplitPages('getString','pageZone'); getString.pageCount = 50;//这个是总页数啊 getString.Output(); </script>
I永超 2013-07-09
  • 打赏
  • 举报
回复
for (int i = 0; i <=50; i++) { Html html = new Html(); string htmlCode = html.GetHTML("http://ent.qq.com/c/gtxw_1.htm", "gb2312"); string pattern = @"(?i)<div[^>]*>[\s\S]*?src=""(?<pic>[^""]*)""\s*alt=""(?<title>[^""]*)"">[\s\S]*?<span\s*class=""date"">(?<date>[^<]*)</span>[\s\S]*?<div[^>]*>(?<all>[^<]*?)<"; } 你看我代码这一句该怎么写才能循环所有页呢
geass 2013-07-09
  • 打赏
  • 举报
回复
动态地址 http://ent.qq.com/c/gtxw_{page}.htm
I永超 2013-07-09
  • 打赏
  • 举报
回复
没办法呀,公司就让自己做数据采集的工具阿!你有什么好的办法可以获取到这个网站上所有页吗?我现在能获取到第一页的所有内容,但是我要获取到所有分页的内容,不知道咋整了这个网站用的不是地址栏分页,不知道怎么办呀?求帮忙呀
jrl5365 2013-07-09
  • 打赏
  • 举报
回复
能不用自己的程序情况下采集直接用火车头之类的,也方便,自己写累人不~
I永超 2013-07-09
  • 打赏
  • 举报
回复
源码我都已经获取出来了,但就是我看网上面说得用正则表达式去截取呀! class Html { public string GetHTML(string url, string encoding) { System.Net.WebClient web = new System.Net.WebClient(); byte[] buffer = web.DownloadData(url); return Encoding.GetEncoding(encoding).GetString(buffer); } } Html html = new Html(); //得到指定页面的html代码,第一个参数为url(貌似都知道),第二个是目标网页的编码集 string pattern = @"(?i)<div[^>]*>[\s\S]*?src=""(?<pic>[^""]*)""\s*alt=""(?<title>[^""]*)"">[\s\S]*?<span\s*class=""date"">(?<date>[^<]*)</span>[\s\S]*?<div[^>]*>(?<all>[^<]*?)<"; string htmlCode = html.GetHTML(textBox2.Text, "gb2312"); //正则表达式 Regex regexarticles = new Regex(pattern ); //所有匹配表达式的内容 System.Text.RegularExpressions.MatchCollection marticles = regexarticles.Matches(htmlCode); //遍历匹配内容 foreach (Match m in marticles) { rt_box.AppendText(Clear.GetKeyName(m.Groups["title"].Value) + "\r\n"); } 这是我的代码,有一个问题就是我要获取这个网站http://ent.qq.com/star/shouye2012/gangtai.htm上面的所有数据包括这个网站上面的下一页,我现在是只能获取此网站上面的默认第一页上面的数据,不能获取其它页面上的数据阿...
I永超 2013-07-09
  • 打赏
  • 举报
回复
我现在就是要或取这个网站http://ent.qq.com/star/shouye2012/gangtai.htm上面的所有页面全文里面的这一块内容,该怎么写呢
游戏人间 2013-07-09
  • 打赏
  • 举报
回复
辛苦费还是要的。 到时候源码给你,你可以学得很多东西。
游戏人间 2013-07-09
  • 打赏
  • 举报
回复
var getString = new SplitPages('getString','pageZone'); getString.pageCount = 50; //总页数 getString.Output(); 每一页它是用ajax请求的,请求地址: http://ent.qq.com/c/gtxw_1.htm?0.5782192110404865 gtxw_1.html 中的1就是页数,循环抓取即可。
I永超 2013-07-09
  • 打赏
  • 举报
回复
你能帮我做个C#获取Facebook API上面的信息的项目呀?
I永超 2013-07-09
  • 打赏
  • 举报
回复
是免费的么?
游戏人间 2013-07-09
  • 打赏
  • 举报
回复
干脆外包给我做吧。 威客-冷盖天QQ:1518289692
I永超 2013-07-09
  • 打赏
  • 举报
回复
我要筛选到这个网站http://ent.qq.com/star/shouye2012/gangtai.htm上面的全文的URL地址,请问正则表达式怎么写呀
I永超 2013-07-09
  • 打赏
  • 举报
回复
http://ent.qq.com/star/shouye2012/gangtai.htm你帮我写一个正则表达式能够筛选到这个网站正文的URL地址吧???
_小黑_ 2013-07-09
  • 打赏
  • 举报
回复
你 网页下一页的时候在执行你获取数据的那个方法呗
I永超 2013-07-09
  • 打赏
  • 举报
回复
我要获取到这个http://ent.qq.com/star/shouye2012/gangtai.htm网站上面的里面的内容正则表达式该怎么写呀???求高手帮忙呀...

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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