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

优采云 发布时间: 2022-10-15 18:19

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

  一直在想整理一下网页抓取的具体实现功能代码,方便大家指正,也方便我自己学习和指正。当然,这并不适用于所有网页。自己写的函数有限,只能用于网页特定结构的数据采集。如果有更好的方法,请不吝赐教。

  1.抓取网页内容:

  网页爬取的代码很多,网上可以搜索到。以下方法是我找到的一种供参考:

<p>1///

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

3///

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

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

6///

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

8{

9 try

10 {

11 string charSet = null;

12 if (charSets.Length == 1)

13 {

14 charSet = charSets[0];

15 }

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

17 // 需要注意的:

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

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

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

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

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

23 myWebClient.Credentials = CredentialCache.DefaultCredentials;

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

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

26 //myWebClient.Credentials = mycred;

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

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

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

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

31 Match charSetMatch = Regex.Match(strWebData, "

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线