苏飞论坛

标题: 最新百度爬虫抓取搜索结果,过安全检测 [打印本页]

作者: 站长苏飞    时间: 2019-11-26 17:16
标题: 最新百度爬虫抓取搜索结果,过安全检测
这个不多说,最近百度更新,需要过安检

直接上代码

[C#] 纯文本查看 复制代码
HttpHelper http = new HttpHelper();
HttpItem item = new HttpItem()
{
    URL = "https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=baidu&wd=sufei",//URL     必需项
    Method = "GET",//URL     可选项 默认为Get
    Timeout = 100000,//连接超时时间     可选项默认为100000
    ReadWriteTimeout = 30000,//写入Post数据超时时间     可选项默认为30000
    IsToLower = false,//得到的HTML代码是否转成小写     可选项默认转小写
    Cookie = "",//字符串Cookie     可选项
    UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",//用户的浏览器类型,版本,操作系统     可选项有默认值
    Accept = "text/html, application/xhtml+xml, */*",//    可选项有默认值
    ContentType = "text/html",//返回类型    可选项有默认值
    Referer ="https://www.baidu.com",//来源URL     可选项
    Allowautoredirect = False,//是否根据301跳转     可选项
    AutoRedirectCookie = False,//是否自动处理Cookie     可选项
    //CerPath = "d:\123.cer",//证书绝对路径     可选项不需要证书时可以不写这个参数
    //Connectionlimit = 1024,//最大连接数     可选项 默认为1024
    Postdata = "",//Post数据     可选项GET时不需要写
    //ProxyIp = "192.168.1.105:2020",//代理服务器ID     可选项 不需要代理 时可以不设置这三个参数
    //ProxyPwd = "123456",//代理服务器密码     可选项
    //ProxyUserName = "administrator",//代理服务器账户名     可选项
    ResultType = ResultType.String,//返回数据类型,是Byte还是String
};
item.Header.Add("Bdpagetype", " 3");//设置请求头信息(Header)
item.Header.Add("Bdqid", " 0xd30b86920004fb3f");//设置请求头信息(Header)
item.Header.Add("Cache-Control", " private");//设置请求头信息(Header)
item.Header.Add("Ckpacknum", " 2");//设置请求头信息(Header)
item.Header.Add("Ckrndstr", " 20004fb3f");//设置请求头信息(Header)
item.Header.Add("Strict-Transport-Security", " max-age=172800");//设置请求头信息(Header)
item.Header.Add("Traceid", " 1574759518274850689015207396528370285375");//设置请求头信息(Header)
item.Header.Add("Vary", " Accept-Encoding");//设置请求头信息(Header)
item.Header.Add("X-Ua-Compatible", " IE=Edge");//设置请求头信息(Header)
HttpResult result = http.GetHtml(item);
string html = result.Html;
string cookie = result.Cookie;



作者: 站长苏飞    时间: 2019-11-26 17:22
默认情况 下先请求一次百度获取这些参数,然后每次请求带上即可
item.Header.Add("Bdpagetype", " 3");//设置请求头信息(Header)
item.Header.Add("Bdqid", " 0xd30b86920004fb3f");//设置请求头信息(Header)
item.Header.Add("Cache-Control", " private");//设置请求头信息(Header)
item.Header.Add("Ckpacknum", " 2");//设置请求头信息(Header)
item.Header.Add("Ckrndstr", " 20004fb3f");//设置请求头信息(Header)
item.Header.Add("Strict-Transport-Security", " max-age=172800");//设置请求头信息(Header)
item.Header.Add("Traceid", " 1574759518274850689015207396528370285375");//设置请求头信息(Header)
作者: dengyonghua    时间: 2019-11-26 18:02
老哥,为啥我的还是不行呢?还是返回<a href="https://wappass.baidu.com/static/captcha/tuxing.html?&amp;ak=c27bbc89afca0463650ac9bde68ebe06&amp;backurl=https%3A%2F%2Fwww.baidu.com%2Fs%3Fie%3Dutf-8%26f%3D8%26rsv_bp%3D1%26tn%3Dbaidu%26wd%3D%25E5%25AE%25B6%25E5%2585%25B7%25E5%2585%25AC%25E5%258F%25B8&amp;logid=7835993800044587352&amp;signature=91603f0b6510de7545678315cf5e64a9&amp;timestamp=1574762465">Found</a>.

附代码:HttpHelper helper = new HttpHelper();
                HttpItem item = new HttpItem();
                item = new HttpItem()
                {
                    URL = "https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=baidu&wd=" + toolStripTextBox1.Text,
                    IsToLower = false,
                    //UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",//用户的浏览器类型,版本,操作系统     可选项有默认值
                    Accept = "text/html, application/xhtml+xml, */*",
                    ContentType = "text/html",
                    Referer = "https://www.baidu.com",
                    Allowautoredirect = false,
                    ResultType = ResultType.String,
                };
                item.Header.Add("Bdpagetype", "3");
                item.Header.Add("Bdqid", "0xd30b86920004fb3f");
                item.Header.Add("Cache-Control", "private");
                item.Header.Add("Ckpacknum", "2");
                item.Header.Add("Ckrndstr", "20004fb3f");
                item.Header.Add("Strict-Transport-Security", "max-age=172800");
                item.Header.Add("Traceid", "1574759518274850689015207396528370285375");
                item.Header.Add("Vary", "Accept-Encoding");
                item.Header.Add("X-Ua-Compatible", "IE=Edge");

                Random r = new Random();
                int index = r.Next(_agent.Count - 1);
                item.UserAgent = _agent[index];//随机获取UserAgent

                HttpResult result = helper.GetHtml(item);//获取页面内容
                string strHtml = result.Html;
作者: zncliving    时间: 2019-11-26 21:05
福利啊  支持!
作者: bdhwjs    时间: 2019-11-29 14:32
抓取了还是提示验证码呢
作者: 智慧不起烦恼    时间: 2019-12-4 20:32
感谢分享




欢迎光临 苏飞论坛 (http://www.sufeinet.com/) Powered by Discuz! X3.4