谁能帮我抓取这个网页里的指定部分的内容?

gxingmin 2010-09-16 09:45:35
http://dict.cn/sleep
我想通过程序获取上面这个网页中的【词形变化】中的内容,这部分内容好像用ajax获取的,在网页里能看到,但是我查看源文件或用HttpWebRequest、WebBrowser、WebClient等方式均获取不到【词形变化】中的内容,请问还有什么方式获取?或者找到他的ajax方式获取也行,谢谢!


注意后面sleep是我要查询的单词,不一定是sleep,有可能是其他单词
...全文
473 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
czsoft003 2011-09-20
  • 打赏
  • 举报
回复
你要是知道怎么写Socket代码的话,只需发送以下字符串过去,即可获得所有原始内容,超爽:

GET /sleep HTTP/1.1
Accept-Language: zh-cn
Host: dict.cn
gongsun 2010-09-16
  • 打赏
  • 举报
回复
主要看这个Div: jj-transform-block 的table.



zhangaijiang1006 2010-09-16
  • 打赏
  • 举报
回复
up 一下

string result = HtmlElement element = webBrowser1.Document.All["jj-transform-block"].InnerText;

qiuxin425 2010-09-16
  • 打赏
  • 举报
回复
帮顶,LZ来点分
a82344626 2010-09-16
  • 打赏
  • 举报
回复
http://dict.cn/ajax/dictcontent.php
用的是POST方式POST的数据如下 q是单词 s是固定的 t好像是密钥 也可以不传t看返回的数据
q=sleep&s=1&t=a91dcad46f8ee281d263d22f8e9875f4
数据返回的是JSON数据如下
gxingmin 2010-09-16
  • 打赏
  • 举报
回复
5楼貌似可以,哈哈,我再试试,
IE8也有这个开发人员工具,我曾经分析了,没试webBrowser1.Document.All["jj-transform-block"].InnerText,晕
兔子-顾问 2010-09-16
  • 打赏
  • 举报
回复
^_^

授人鱼不如授人以渔,你下载google浏览器,用开发人员工具,逐个检查html标记,得到id,然后根据你需要,任何的一个内容都可以通过
HtmlElement element = webBrowser1.Document.All["对应ID"];
if(element != null)
{
string s = element.InnerText;
}


得到显示的文本。或是通过SetAttribute设置值,GetAttribute获取。

囧,才看到,刚又贴错了.

string result = webBrowser1.Document.All["jj-transform-block"].InnerText;
兔子-顾问 2010-09-16
  • 打赏
  • 举报
回复
少贴了一点。囧。
string result = HtmlElement element = webBrowser1.Document.All["jj-transform-block"].InnerText;
兔子-顾问 2010-09-16
  • 打赏
  • 举报
回复
试了一下,也简单。如果webbrowser打开这个网页后,你这样就可以得到了
string result = HtmlElement element = webBrowser1.Document.All["jj-transform-block"];
粉丝鸡蛋 2010-09-16
  • 打赏
  • 举报
回复
没做过,帮你顶顶吧!也学习下!
兔子-顾问 2010-09-16
  • 打赏
  • 举报
回复
好像蛮复杂,用google浏览器的开发人员工具分析一下。
HooverHuang 2010-09-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wuyazhe 的回复:]

^_^

授人鱼不如授人以渔,你下载google浏览器,用开发人员工具,逐个检查html标记,得到id,然后根据你需要,任何的一个内容都可以通过
C# code
HtmlElement element = webBrowser1.Document.All["对应ID"];
if(element != null)
{
string s = element.InnerText;
}
……
[/Quote]


哈哈。。。学习了,我以前都是获取全部内容截取的,比较不灵活,做的也很累,这个要简单点
amandag 2010-09-16
  • 打赏
  • 举报
回复
不错
云瑀 2010-09-16
  • 打赏
  • 举报
回复
真强,学习了
Bone2 2010-09-16
  • 打赏
  • 举报
回复
学习了

110,565

社区成员

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

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

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