本程序爬取指定的网页图片 然后上传到程序修改桌面背景。修改桌面背景的代码可以在这下载:
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
地址
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
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助手:
生成二维码和二维码的logo,识别二维码发送短信
m0_68598589:
电脑开机自启后程序同windows服务一起启动(注册表的开机自启碰到有输入密码提示的界面程序是不能运行)
Link_:
C# 解析百度人脸识别技术文档(让有些人更好地了解百度人脸识别的demo希望这文章对各位老爷有帮助)
C# 解析百度人脸识别技术文档(让有些人更好地了解百度人脸识别的demo希望这文章对各位老爷有帮助)
qq_40466546: