使用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&quality=80&size=b65_65&subsize=20480&cut_x=0&cut_w=0&cut_y=0&cut_h=0&sec=1369815402&srctrace&di=9f6cdc0624f7b25832f34ad393db5063&wh_rate=null&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();
}
读取之后转化为字符串(自己转把,不写了)就能把网页拿过来搞事情了
使用WebClient下载网页,用正则匹配需要的内容的更多相关文章
- 正则匹配获取HTML图片地址,正则匹配获取HTML内容
//正则匹配获取HTML图片地址preg_match_all('/<img.*?src="(.*?)".*?>/is', $str, $array); if (isse ...
- 3.python正则匹配不到内容时消耗大量内存
遇到问题:正常情况获取的网页源码可以通过正则表达式快速匹配到内容,,但是如果出现问题,没有匹配到的内容,正则就会一直回溯,导致内存激增,一直循坏查找. 解决思路: 一.如果能够有特殊内容可以标记,满 ...
- 正则匹配href标签内容
完整a标签 <a.+?href=\"(.+?)\".*>(.+)</a> 单独href : <a.+?href=\"(.+?)\" ...
- youtube-dl 源码看看,例子是下载网页
1, 跑起来 下载 youtube-dl, 配合 launch.json, # 本文中 himala 是代指,具体见文末的 github repo "configurations" ...
- 07-Location之正则匹配
大网站专门有自己的图片服务器,起码也得单独放一个目录里面. 淘宝网有些图片开启了防盗链(即使是小图片,也不让你下载,真小气).163新闻可以下载. 用正则匹配uri中的image,就是说你的uri中到 ...
- 第三百二十五节,web爬虫,scrapy模块标签选择器下载图片,以及正则匹配标签
第三百二十五节,web爬虫,scrapy模块标签选择器下载图片,以及正则匹配标签 标签选择器对象 HtmlXPathSelector()创建标签选择器对象,参数接收response回调的html对象需 ...
- 四 web爬虫,scrapy模块标签选择器下载图片,以及正则匹配标签
标签选择器对象 HtmlXPathSelector()创建标签选择器对象,参数接收response回调的html对象需要导入模块:from scrapy.selector import HtmlXPa ...
- 基于正则表达式用requests下载网页中的图片
在慕课网看了正则表达式和requests的课程后,为了加深学习记忆,决定简单记录. 实现步骤: 1.先打开你要下载的网页,查看源码找出图片位置 2.编写正则匹配图片url 3.保存图片到本地 图文步骤 ...
- C# 网络编程之webBrowser获取网页url和下载网页中图片
该文章主要是通过C#网络编程的webBrowser获取网页中的url并简单的尝试瞎子啊网页中的图片,主要是为以后网络开发的基础学习.其中主要的通过应用程序结合网页知识.正则表达式实现浏览.获取url. ...
随机推荐
- LigerUi遮罩的两个方法
$.ligerDialog.waitting('正在查询,请稍候...'); $.ligerDialog.close();
- 八种排序算法--java实现(转)
(转:http://blog.csdn.net/without0815/article/details/7697916) 8种排序之间的关系: 1, 直接插入排序 (1)基本思想:在要排序的一组数中, ...
- [py]flask操作cookie&django的seesion和cookie机制
浏览器同源策略(same-origin policy) csrf攻击防御核心点总结 django的cookie和session操作-7天免登录 flask操作cookie&django的see ...
- Linux个人知识扩展:服务器几u的意思,网络带宽
服务器几u的意思: 指的服务器大小规格 1U=4.45cm 2U=8.9cm 3U=4.45cm * 3 4U=4.45cm * 4 这指的是服务器的高度 现在的服务器为节省空间都是很扁的 U是服务器 ...
- sort(排序) qsort(快排) bsearch(二分查找)
sort: 一.对int类型数组排序 int a[100]; int cmp ( int a , int b ) //不必强制转换 { return a < b;//升序排列. } sort ( ...
- Windows 下MySql Replication(复制)配置
环境准备 到官网下载mysql-installer-web-community-5.7.21.0.msi并安装,选择MySql Workbench,记录安装时root输入的密码. 需要安装在两台机器上 ...
- git checkout .还可以恢复吗
说实话,希望很渺茫, 如果你在git checkout . 之前操作了git stash ,还是可以恢复的,操作如下: 最后修改文件恢复了! 但是如果你在git checkout .之前没有git ...
- [LeetCode] 130. Surrounded Regions_Medium tag: DFS/BFS
Given a 2D board containing 'X' and 'O' (the letter O), capture all regions surrounded by 'X'. A reg ...
- Kotlin enum class 匿名类实例
Kotlin里的枚举类里有新玩意:就是枚举类的常量可以同时看成是一个同名匿名类 既然是类就可以与方法关联 看看官网的代码 如果你有过其它语言的使用枚举的经历,你可能对这个定义和说明很迷惑 我给你一个例 ...
- Selenium基础知识(一)环境与搜索
所需环境: 1.python2.7 + pycharm 2.Selenium 3.浏览器驱动(IEDriverServer.exe) 这里使用的是ie浏览器 将驱动放到一个环境变量路径,这里直接放在 ...