博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 实现抓取网页内容(一)
阅读量:6302 次
发布时间:2019-06-22

本文共 1913 字,大约阅读时间需要 6 分钟。

一、窗体应用程序界面:

二、上源码:

using System;

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WebCatchTest0911

{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public static CookieCollection CC = new CookieCollection();
private void btn_Start_Click(object sender, EventArgs e)
{
string str = GetWebPageSource(textBox1.Text.Trim());
}

public static string GetWebPageSource(string Url)

{
if (Url.Contains("about"))
{
Url = Url.Replace("about", "http");
}
try
{
//http://brand.tmall.com/brandMap.htm
HttpWebRequest MyRequest = (HttpWebRequest)WebRequest.Create(Url);
MyRequest.Method = "GET";
MyRequest.Headers.Add("Accept-Encoding", "GBK");
MyRequest.Headers.Add("Accept-Language", "zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3");
MyRequest.Headers.Add("Cache-Control", "max-age=0");
MyRequest.KeepAlive = true;
MyRequest.Host = "www.icoolbr.com";
MyRequest.ProtocolVersion = HttpVersion.Version11;
MyRequest.ContentType = "text/html; charset=GBK";
MyRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36";
MyRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
MyRequest.AllowAutoRedirect = true;
MyRequest.CookieContainer = new CookieContainer();
MyRequest.CookieContainer.Add(CC);
HttpWebResponse MyResponse = (HttpWebResponse)MyRequest.GetResponse();
StreamReader srd = new StreamReader(MyResponse.GetResponseStream(), Encoding.GetEncoding("GBK"));
string txt = srd.ReadToEnd();
CC = MyResponse.Cookies;
srd.Close();
srd.Dispose();
return txt;
}
catch { return ""; }
}
}
}

三、总结

1)、HttpWebRequest的参数可以通过浏览器查看(F12);

2)、注意释放资源;

四、下章实现提取网页内容

 

转载于:https://www.cnblogs.com/czqbk/p/4801605.html

你可能感兴趣的文章
oracle表分区详解
查看>>
网络编程中常见结构体
查看>>
SSL/TLS原理详解
查看>>
Docker 自定义SSH服务镜像
查看>>
JavaScript强化教程 —— Cocos2d-JS自动JSB绑定规则修改
查看>>
configure: error: in `/root/httpd-2.2.11/srclib/apr': c
查看>>
CentOS7搭建Kubernetes-dashboard管理服务
查看>>
buildroot下查找外部编译器通过ext-toolchain-wrapper调用的参数
查看>>
MySQL Replication 主主配置详细说明
查看>>
Linux的任务调度
查看>>
在Android studio中添加jar包方法如下
查看>>
iframe 在ie下面总是弹出新窗口解决方法
查看>>
分享10款漂亮实用的CSS3按钮
查看>>
安装nginx 常见错误及 解决方法
查看>>
Gorun8电子商城
查看>>
在之前链表的基础上改良的链表
查看>>
android编译系统makefile(Android.mk)写法
查看>>
MD5源代码C++
查看>>
Eclipse 添加 Ibator
查看>>
Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义
查看>>