使用WebClient下载网页,用正则匹配需要的内容

WebClient是一个操作网页的类

webClient web=new  WebClient();

web.DownloadString(网页的路径,可以是本地路径);--采用的本机默认的编码格式  返回值为string

如果网页采用用的是utf8的话用   web.DownloadData(与DownloadString用法一样) 的返回值为byte[](字节数组)

一个简单的匹配图片下载的代码:

static void Main(string[] args)

{

//操作网页的一个类

WebClient web = new WebClient();

//<img
src="https://gss3.bdstatic.com/84oSdTum2Q5BphGlnYG/timg?wapp&amp;quality=80&amp;size=b65_65&amp;subsize=20480&amp;cut_x=0&amp;cut_w=0&amp;cut_y=0&amp;cut_h=0&amp;sec=1369815402&amp;srctrace&amp;di=9f6cdc0624f7b25832f34ad393db5063&amp;wh_rate=null&amp;src=http%3A%2F%2Fimgsrc.baidu.com%2Fforum%2Fpic%2Fitem%2Fe824b899a9014c084548ecd9087b02087bf4f45f.jpg"/>

byte[] buffer = web.DownloadData(@"https://tieba.baidu.com/f?kw=%E5%A5%BD%E7%9C%8B%E7%9A%84%E5%9B%BE%E7%89%87&fr=fenter&prequery=%E5%A5%BD%E7%9C%8B%E7%9A%84%E5%9B%BE%E7%89%87%E5%A4%A7%E5%85%A8%E5%B8%A6%E5%AD%97");

//将字节转换成字符串,该网页采用的是utf8编码格式

string html = Encoding.UTF8.GetString(buffer);

MatchCollection mc = Regex.Matches(html, @"<img.+?(?<priSrc>https.+?\.jpg).+?>");

int i = 0;

foreach (Match item in mc)

{

i++;

Console.WriteLine(item.Value);

string uri = item.Groups["priSrc"].Value;

string path = Path.Combine(@"C:\Users\Administrator\Desktop\images", +i+".jpg");

//用DownloadFile下载文件

web.DownloadFile(uri, path);

}

Console.ReadKey();

}

读取之后转化为字符串(自己转把,不写了)就能把网页拿过来搞事情了

时间: 2024-12-22 21:05:25

使用WebClient下载网页,用正则匹配需要的内容的相关文章

正则匹配括号中内容

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> var reg = /\((.+?)\)/g; var reg2 = /\((.+?)\)/; var str = 'scale(1.5)

C#控制台基础 正则表达式,regex,webclient下载博客园网页中的一张图片

1 网页图 这网页就一张图片,新手入门,找个简单一些的. 2 代码 1 正则表达式,regex,webclient下载博客园网页中的一张图片 2 3 4 using System; 5 using System.Collections.Generic; 6 using System.IO; 7 using System.Linq; 8 using System.Net; 9 using System.Text; 10 using System.Text.RegularExpressions; 1

捧腹网短笑话正则匹配-如何剔除网页源码的制表符

以捧腹网的短笑话为例,我们可以通过requests方法提取出网页的源代码,然后通过正则匹配来得到相关的短笑话 第一步,得到网页源码,使用requests的get方法,需要注意的是,网页默认编码是utf-8,我们需要指定编码格式为utf-8,才能正确显示出网页的文本信息 #-*- coding:utf-8 -*-import requestsimport re respon=requests.get('https://www.pengfu.com/xiaohua_1.html?qq-pf-to=p

web爬虫,scrapy模块标签选择器下载图片,以及正则匹配标签

标签选择器对象 HtmlXPathSelector()创建标签选择器对象,参数接收response回调的html对象需要导入模块:from scrapy.selector import HtmlXPathSelector select()标签选择器方法,是HtmlXPathSelector里的一个方法,参数接收选择器规则,返回列表元素是一个标签对象 extract()获取到选择器过滤后的内容,返回列表元素是内容 选择器规则 //x 表示向下查找n层指定标签,如://div 表示查找所有div标签

php正则匹配用户名必须包含字母和数字且大于6位

php正则匹配用户名必须包含字母和数字且大于6位 UEditor 1.4.3版本中去掉本地自动保存功能 右键菜单没有新建文本文档txt 常见HTTP错误代码大全 http常见状态码 eclipse内存溢出错误 为什么井盖是圆的?--揭开面试题的神秘面目! Linux Centos 6.6搭建SFTP服务器 密码强度检测 JS判断检测用户输入密码强度代码 对程序员来说,提高薪水最好的建议是什么? CSS3仿淘宝右侧固定导航悬浮层 jQuery仿淘宝网登录拖动滑块验证码代码 jQuery单击div更

C# 网络编程之webBrowser获取网页url和下载网页中图片

该文章主要是通过C#网络编程的webBrowser获取网页中的url并简单的尝试下载网页中的图片,主要是为以后网络开发的基础学习.其中主要的通过应用程序结合网页知识.正则表达式实现浏览.获取url.下载图片三个功能.而且很清晰的解析了每一步都是以前一步为基础实现的. 一.界面设计 界面设计如下图所示,添加控件如图,设置webBrowser1其Anchor属性为Top.Bottom.Left.Right,实现对话框缩放;设置groupBox1其Dock(定义要绑到容器控件的边框)为Buttom,实

c# 下载网页图片

也是比较老的东西了 最近用到 记录下以免以后忘了 要下载图片首先要有图片地址 要有图片地址就要先把网页下下来分析下URL 下载网页一般用两种方法 1,用 system.net.webclient using System.Net; using System.Windows.Forms; string url = "http://www.cnblogs.com"; string result = null; try { WebClient client = new WebClient()

Nginx 笔记与总结(7)Location:正则匹配

在 /usr/local/nginx/conf/nginx.conf 的默认 server 段中,保留默认的 location 信息(之前测试的 location 配置删除): location / { root html; index index.html index.htm; } 在 /var/www 下创建 image 目录: [[email protected] ~]# cd /var/www [[email protected] www]# mkdir image 使用 wget 或者

JavaWeb学习之转发和重定向、会话技术:cookie、session、验证码实例、URLConnection使用(下载网页)(4)

1.转发和重定向 HttpServletResponse response 转发: RequestDispatcher dispatcher = request.getRequestDispatcher("/secondServlet"); request.setAttribute("pwd","123");//这里设置的值在secondServlet中可以获取到 dispatcher.forward(request, response);//调