自己写网页爬虫——网页分类抓取/采集并导出数据库

优采云 发布时间: 2020-08-11 14:28

  一直想着整理出网页抓取的具体实现功能代码,方便你们见谅,也便捷自己学习修正。当然这个并不是针对所有网页,自己写的功能有限,只能针对某一特定结构的网页进行数据采集,如果有更好的方式,请你们不吝指教,在此谢过!

  一、抓取网页内容:

  网上可以搜索到好多抓取网页的代码,以下这个方式是我搜到的一个供参考:

<p>///

/// 获取网页全部源代码

///

/// /要访问的网站地址

/// 目标网页的编码,如果传入的是null或者"",那就自动分析网页的编码

///

public static string getHtml(string url, params string[] charSets)

{

try

{

string charSet = null;

if (charSets.Length == 1)

{

charSet = charSets[0];

}

WebClient myWebClient = new WebClient(); //创建WebClient实例myWebClient

// 需要注意的:

//有的网页可能下不下来,有种种原因比如需要cookie,编码问题等等

//这是就要具体问题具体分析比如在头部加入cookie

// webclient.Headers.Add("Cookie", cookie);

//这样可能需要一些重载方法.根据需要写就可以了

//获取或设置用于对向 Internet 资源的请求进行身份验证的网络凭据.

myWebClient.Credentials = CredentialCache.DefaultCredentials;

//如果服务器要验证用户名,密码

//NetworkCredential mycred = new NetworkCredential(struser, strpassword);

//myWebClient.Credentials = mycred;

//从资源下载数据并返回字节数组.(加@是因为网址中间有"/"符号)

byte[] myDataBuffer = myWebClient.DownloadData(url);

string strWebData = Encoding.Default.GetString(myDataBuffer);

//获取网页字符编码描述信息

Match charSetMatch = Regex.Match(strWebData, "

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线