我想要实现的就是从this address获取链接,每一张墙纸的链接。例如,此链接:https://www.flickr.com/photos/visualechos/14925188846/in/album-72157622467976256/。
这是我尝试过的一些方法,但由于某些原因,所有使用这些方法的墙纸链接都不存在:
using (WebClient client = new WebClient())
{
string code = client.DownloadString("http://www.flickr.com/photos/visualechos/sets/72157622467976256");
}-
using (WebClient client = new WebClient())
{
client.DownloadFile("http://www.flickr.com/photos/visualechos/sets/72157622467976256", @"C:\code.html");
}-
// Using HtmlAgilityPack
public void GetLinks(string url)
{
HtmlWeb hw = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = hw.Load(url);
foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]"))
{
LINK.Add(link.GetAttributeValue("href", "link not found"));
}
}
private void btnStoreLinks_Click(object sender, EventArgs e)
{
GetLinks("https://www.flickr.com/photos/visualechos/sets/72157622467976256");
}发布于 2016-07-25 02:09:05
您可以尝试flickr-API,而不是抓取站点,这里提供了相关文档:https://www.flickr.com/services/api/misc.urls.html
你也应该在他们的网站上阅读这个主题:https://www.flickr.com/services/api/auth.oauth.html
之后就相当简单了,你可以创建你的第一个OAuth--请求一个新的客户端密码--然后你把请求发送给API。WebRequest就是您要搜索的库。
https://stackoverflow.com/questions/38554890
复制相似问题