如何获取别人网站上的图片路径

heheerwa 2011-05-05 08:55:17
RT
如:http://www.weather.com.cn/html/radar/JC_RADAR_AZ9592_JB.shtml
这里的卫星云图的路径
...全文
754 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2011-05-05
  • 打赏
  • 举报
回复
webBrowser1_DocumentCompleted事件执行完毕才能获取
heheerwa 2011-05-05
  • 打赏
  • 举报
回复
明白为什么为null了, 你的是在加载完成后,我是在Load的时候让webBrowser1打开页面,在取Document,这时document就null。
heheerwa 2011-05-05
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 net_lover 的回复:]

private void button1_Click(object sender, EventArgs e)
{
HtmlElementCollection hs = webBrowser1.Document.GetElementsByTagName("img");

foreach(HtmlElement h in hs)
{
MessageBox.……
[/Quote]

webBrowser1.Document.GetElementsByTagName("img");
这里的时候webBrowser1.Document就为null了~
孟子E章 2011-05-05
  • 打赏
  • 举报
回复
private void button1_Click(object sender, EventArgs e)
{
HtmlElementCollection hs = webBrowser1.Document.GetElementsByTagName("img");

foreach(HtmlElement h in hs)
{
MessageBox.Show(h.GetAttribute("src"));
}

}
heheerwa 2011-05-05
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 net_lover 的回复:]

使用WebBrowser打开,然后
WebBrowser.Document.GetElementsByTagName("img")
得到的全部图片,然后遍历一下就可以
[/Quote]

我用WebBrowser打开后,WebBrowser.Document.GetElementsByTagName("img")WebBrowser.Document却始终为空,怎么解?
heheerwa 2011-05-05
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 net_lover 的回复:]

使用WebBrowser打开,然后
WebBrowser.Document.GetElementsByTagName("img")
得到的全部图片,然后遍历一下就可以
[/Quote]
大神级的人物~
heheerwa 2011-05-05
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 codersmile 的回复:]

引用 6 楼 heheerwa 的回复:
我也知道源码里面有,问题是怎么获取它的源码那?

C# code

WebClient webClient = new WebClient();
InitWebClient(webClient, baseUri.AbsoluteUri);
byte[] responseData = ……
[/Quote]

InitWebClient这个方法用来干嘛的?
孟子E章 2011-05-05
  • 打赏
  • 举报
回复
使用WebBrowser打开,然后
WebBrowser.Document.GetElementsByTagName("img")
得到的全部图片,然后遍历一下就可以
秋的红果实 2011-05-05
  • 打赏
  • 举报
回复
在你的程序里使用人家图片,貌似不可以
ForCrab 2011-05-05
  • 打赏
  • 举报
回复
responseData 就是你想要的源码了 是byte[]类型的

WebClient webClient = new WebClient();
InitWebClient(webClient, baseUri.AbsoluteUri);
byte[] responseData = webClient.DownloadData(HttpUtility.HtmlDecode(baseUri.AbsoluteUri));

HttpWebRequest request = ((HttpWebRequest)(typeof(WebClient).GetField("m_WebRequest", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(webClient)));
bool isRedirect = !request.RequestUri.Equals(request.Address);
webClient.Dispose();

string ContentEncoding = webClient.ResponseHeaders["Content-Encoding"];

if (!string.IsNullOrEmpty(ContentEncoding))
responseData = Decompress(responseData, ContentEncoding);

string ContentType = webClient.ResponseHeaders["Content-Type"];

if (string.IsNullOrEmpty(ContentType) || (ContentType.IndexOf("html") < 0 && ContentType.IndexOf("xml") < 0))
{
return;
}

encoding = DetectEncoding(ContentType, responseData);
string result = encoding.GetString(responseData).Trim();


这个result是 string类型的了!!
之后就可以得到地址了吧!!!
ForCrab 2011-05-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 heheerwa 的回复:]
我也知道源码里面有,问题是怎么获取它的源码那?
[/Quote]

WebClient webClient = new WebClient();
InitWebClient(webClient, baseUri.AbsoluteUri);
byte[] responseData = webClient.DownloadData(HttpUtility.HtmlDecode(baseUri.AbsoluteUri));

其中baseUri是网页的地址(Uri类的)
heheerwa 2011-05-05
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xuexiaodong2009 的回复:]

图片上右击右键菜单,属性中有url地址
[/Quote]
典型的酱油党
heheerwa 2011-05-05
  • 打赏
  • 举报
回复
我也知道源码里面有,问题是怎么获取它的源码那?
xuexiaodong2009 2011-05-05
  • 打赏
  • 举报
回复
图片上右击右键菜单,属性中有url地址
ForCrab 2011-05-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 codersmile 的回复:]
这个网页源代码里就有吧!!!

http://i.weather.com.cn/i/product/pic/l/sevp_aoc_rdcp_sldas_ebref_az9592_l88_pi_20110505003000000.gif
[/Quote]
囧,你是要得到所有的img图片?
得到源码之后正则不行么?
ForCrab 2011-05-05
  • 打赏
  • 举报
回复
这个网页源代码里就有吧!!!

http://i.weather.com.cn/i/product/pic/l/sevp_aoc_rdcp_sldas_ebref_az9592_l88_pi_20110505003000000.gif
heheerwa 2011-05-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 topslazy 的回复:]

对着图片 右键 属性里面有个 URL属性的

http://i.weather.com.cn/i/product/pic/l/sevp_aoc_rdcp_sldas_ebref_az9592_l88_pi_20110505004500000.gif
[/Quote]
汗,我又没说清楚,我说的是用程序~用C#代码~
topslazy 2011-05-05
  • 打赏
  • 举报
回复
对着图片 右键 属性里面有个 URL属性的

http://i.weather.com.cn/i/product/pic/l/sevp_aoc_rdcp_sldas_ebref_az9592_l88_pi_20110505004500000.gif
heheerwa 2011-05-05
  • 打赏
  • 举报
回复
在读取http://www.xmeteo.xm.fj.cn/mh/ldzl/index.html?menu=ment8_2中的雷达图时,报拒绝访问,这个问题要怎么解决呀?

110,539

社区成员

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

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

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