本程序爬取指定的网页图片 然后上传到程序修改桌面背景。修改桌面背景的代码可以在这下载: https://download.csdn.net/download/qq_35319925/10416245。(此文章限对于新手和专研C#爬虫技术的人。写的不好,请各位包涵。)

这篇主要写C#爬虫原理 以下就是效果图。

原理:把下载的网页html转为xml格式然后利用xpath的正则表达式爬取需要的数据最后把爬取的数据显示出来。

//爬取网页图片代码: listView1.Items.Clear(); HtmlWeb webClient = new HtmlWeb(); HtmlAgilityPack.HtmlDocument doc = webClient.Load(this.textBox1.Text); //下载指定路径的html //这段运行是ok 注释:防止htmlAgilitypack输出乱码 //string htmlurl = zhkj.httpdown.openweb(this.textBox1.Text, "", "utf-8"); //HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); //FileStream fs = new FileStream(Application.StartupPath + "//outhtml.html", FileMode.Create, FileAccess.Write); //StreamWriter sw = new StreamWriter(fs, Encoding.Default); //sw.Write(htmlurl); //sw.Close(); //fs.Close(); //doc.Load(Application.StartupPath + "//outhtml.html"); div[@class='lb_box']/dl 输出图片名、日期等其他信息 //HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//div[@class='lb_box']/dl/dd"); //foreach (HtmlNode item in nodes) // Console.WriteLine(item.InnerText.ToString()); //图片网站路径: http://pic.yesky.com/c/6_20771_1.shtml //爬取的xpath: //div[@class='lb_box']/dl//img List<string> listalt = new List<string>(); List<string> listhref = new List<string>(); HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//li[@class='photo-list-padding']//a"); //爬取到数据 foreach (HtmlNode item in nodes) listhref.Add(item.Attributes["href"].Value); nodes = doc.DocumentNode.SelectNodes("//li[@class='photo-list-padding']//a//img"); foreach (HtmlNode item in nodes) listalt.Add(item.Attributes["alt"].Value); for (int i = 0; i < listalt.Count; i++) ListViewItem listViewItem = new ListViewItem(); listViewItem.SubItems[0].Text =listalt[i].ToString(); listViewItem.SubItems.Add(listhref[i].ToString()); listView1.Items.Add(listViewItem); catch

若在网上下载HtmlAgilityPack插件时会导致下过来的html中文乱码,这是因为HtmlAgilityPack没有转码为Encoding.default导致的,如果不知道怎样修改HtmlAgilityPack插件可以选择使用注释内容的代码。或者可以在这个里面下载HtmlAgilityPack.dll https://download.csdn.net/download/qq_35319925/10688398

完成上面的差不多就完成了整个程序,下面的是上一页和下一页的代码:

//上一页 if (pagenumber == 1) return; pagenumber--; if (urltypename != null) this.textBox1.Text = "http://desk.zol.com.cn/" + urltypename + "/1920x1080/" + pagenumber + ".html"; this.textBox1.Text = "http://desk.zol.com.cn/fengjing/1920x1080/" + pagenumber + ".html"; button1_Click(null,null); //下一页代码 pagenumber++; if (urltypename != null) this.textBox1.Text = "http://desk.zol.com.cn/" + urltypename + "/1920x1080/" + pagenumber + ".html"; this.textBox1.Text = "http://desk.zol.com.cn/fengjing/1920x1080/" + pagenumber + ".html"; button1_Click(null, null); 本程序爬取指定的网页图片 然后上传到程序修改桌面背景。修改桌面背景的代码可以在这下载:https://download.csdn.net/download/qq_35319925/10416245。(此文章限对于新手和专研C#爬虫技术的人。写的不好,请各位包涵。)  这篇主要写C#爬虫原理 以下就是效果图。 原理:把下载的网页html转为xml格式然后利用xpath的正则表达式爬取...
最近开始学一下 c# 编写爬虫,发现了一个很好的 视频 资源,然后就在学习之余,做一些笔记。 视频 资源链接:https://www.bilibili.com/video/av11424797/?spm_id_from=333.788.videocard.1 第一个小例子,使用net来进行网站源码的读取,其中的各项数据都是可以通过谷歌浏览器的开发工具按钮中的network得到。 class Prog...
public static void Get() // string xpath trI = "//*[@id='classify-list']/dl/dd/a/cite/span/i"; #region 获取首页的分类 ////主页的html 地址 /// &lt;/summary&gt; /// &lt;param name="url"&gt;&lt;/param&gt; /// &lt;returns&gt;&lt;/returns&gt; private string ServiceInvoke() string url =“htt
现在百度出来的 C# 利用 XPath 的文章全是Copy的,那篇关于猫狗的xml操作文章有个地方是不对的。 所有price字节点值小于100的dog节点,这个写法原文写的是 //dog[/price<100] 实际上是不对的,应该是 //dog[price<100] 试错之后对 XPath 语言的理解又多了一点。 记录一下。 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdo...
在这个示例 程序 中,我们首先使用 `requests` 库发送了一个GET请求,获取了目标 网页 的响应。然后,我们使用 `etree` 模块将响应内容解析成了一个HTML树,并使用 xpath 选择器从中提取了所有 `p` 标签的文本内容。最后,我们将提取到的文本内容打印出来。 当然,这只是一个简单的示例 程序 ,实际 爬取网页 时还需要处理各种异常情况,比如网络连接失败、 网页 解析失败等等。另外,还需要注意 网页 的版权问题,尊重网站所有者的权益,不要进行未经授权的 爬取 CSDN-Ada助手: 恭喜作者发布了第19篇博客!标题中的“文件断点续传”让我非常感兴趣。通过阅读你的博客,我了解到了文件断点续传的概念和它的重要性。我非常喜欢你的写作风格,清晰而简洁,让人易于理解。 接下来,我希望能看到更多关于文件断点续传的实际案例和应用场景,以及如何应对可能出现的问题和挑战。或许你可以分享一些实际操作经验或者提供一些实用的技巧,这将进一步丰富你的博客内容并提升读者的实践能力。 谦虚地说,我知道你一定还有更多的创作灵感和想法,期待你的下一篇博客,继续为读者提供有价值的知识和见解! 生成二维码和二维码的logo,识别二维码发送短信 m0_68598589: 你好,请问这个是用哪个语言呀 电脑开机自启后程序同windows服务一起启动(注册表的开机自启碰到有输入密码提示的界面程序是不能运行) Link_: 师兄,我下载了你的demo 运行为什么开机后并没启动你的WindowsTest程序呢 C# 解析百度人脸识别技术文档(让有些人更好地了解百度人脸识别的demo希望这文章对各位老爷有帮助) 可否分享下完整代码 C# 解析百度人脸识别技术文档(让有些人更好地了解百度人脸识别的demo希望这文章对各位老爷有帮助) qq_40466546: 有没有完整的代码,分享一下