爬虫发起抓取被服务器拒绝访问返回403禁止访问解决方案

现在很多网站的api接口返回httpcode返回码是403提示禁止访问。如果您也遇到这样的情况,请先不要急着去修改网站相关的参数

第一、先进api的网站。用浏览器访问,如果浏览器访问该api接口能成功。说明是设置了权限的问题。如果不能成功的话。很可以是该接口已修改或已失效,这时候就没办法访问了。

第二、如果浏览器能访问成功的话。那就好办了。调用该接口时,捕获异常中的responseBody,很有可能数据就在这里面,笔者就遇到的是这种问题。

直接上代码:

try
            {
               //这里调用api接口
            }
            catch (WebException ex)
            {
                var strm = ex.Response.GetResponseStream();
                strm.Position = 0;
                StreamReader reader = new StreamReader(strm);
                string error = reader.ReadToEnd();
                //这里看error里面的值是否有你想要的值
                if (!string.IsNullOrWhiteSpace(error))
                {
                    var result = JsonConvert.DeserializeObject<JObject>(error)["result"]["results"];
                    if (result == null)
                        return null;
                    var customer = JsonConvert.DeserializeObject<JArray>(result.ToString());
                    if (customer == null)
                        return null;
                    List<InvTitle> list = new List<InvTitle>();
                    foreach (var item in customer)
                    {
                        InvTitle mc = new InvTitle()
                        {
                            Name = item["entName"] != null ? item["entName"].ToString() : "",
                            TaxCode = item["credCode"] != null ? item["credCode"].ToString() : "",
                            State = "y",
                            CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                            UpdateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                        };
                        list.Add(mc);
                        if (list.Count == 4)
                            break;
                    }
                    return list;
                }

                return null;
            }
时间: 2024-08-01 13:21:20

爬虫发起抓取被服务器拒绝访问返回403禁止访问解决方案的相关文章

python爬虫如何抓取代理服务器

一年前突然有个灵感,想搞个强大的网盘搜索引擎,但由于大学本科学习软件工程偏嵌入式方向,web方面的能力有点弱,不会jsp,不懂html,好久没有玩过sql,但就是趁着年轻人的这股不妥协的劲儿,硬是把以前没有学习的全部给学了一遍,现在感觉web原来也就那么回事.好了,废话就不说了,看到本文的读者,可以先看看我做的东西: 去转盘网:www.quzhuanpan.com ok搜搜:www.oksousou.com(这个是磁力,顺便拿出来给大伙观赏) 言归正传,由于我要爬取百度网盘,而度娘你懂的的搞爬虫

Python爬虫实战---抓取图书馆借阅信息

原创作品,引用请表明出处:Python爬虫实战---抓取图书馆借阅信息 前段时间在图书馆借了很多书,借得多了就容易忘记每本书的应还日期,老是担心自己会违约,影响日后借书,而自己又懒得总是登录到学校图书馆借阅系统查看,于是就打算写一个爬虫来抓取自己的借阅信息,把每本书的应还日期给爬下来,并写入txt文件,这样每次忘了就可以打开该txt文件查看,每次借阅信息改变了,只要再重新运行一遍该程序,原txt文件就会被新文件覆盖,里面的内容得到更新. 用到的技术: Python版本是 2.7 ,同时用到了ur

【JAVA系列】Google爬虫如何抓取JavaScript的?

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[JAVA系列]Google爬虫如何抓取JavaScript的? 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 我们测试了谷歌爬虫是如何抓取 JavaScript,下面就是我们从中学习到的知识. 认为 Google 不能处理 JavaScript ?再想想吧.Audette Audette 分享了一系列测试结果,他

Java广度优先爬虫示例(抓取复旦新闻信息)

一.使用的技术 这个爬虫是近半个月前学习爬虫技术的一个小例子,比较简单,怕时间久了会忘,这里简单总结一下.主要用到的外部Jar包有HttpClient4.3.4,HtmlParser2.1,使用的开发工具(IDE)为intelij 13.1,Jar包管理工具为Maven,不习惯用intelij的同学,也可以使用eclipse新建一个项目. 二.爬虫基本知识 1.什么是网络爬虫?(爬虫的基本原理) 网络爬虫,拆开来讲,网络即指互联网,互联网就像一个蜘蛛网一样,爬虫就像是蜘蛛一样可以到处爬来爬去,把

(插播)网络爬虫,抓取你想要得东西。

最近,有个朋友说,想在一些页面上获取一些关键性得信息.比如,电话,地址等等.一个个页面去找 又很麻烦.这时候,想起了 何不去用"爬虫"去抓取一些想要得东西.省事,省里.好,今天 我们就讲讲,关于爬虫得一些东西. 这里 自己也是,看了一些关于爬虫得知识,正好,这几日闲来没事.做了一个功能小得爬虫. 这里是使用 java来进行编写得  首先 我们来介绍下.使用得框架,jdk1.6,htmlparser.jar(java 经典访问html页面得类),httpclient-3.01.jar,l

使用HttpWebRequest和HtmlAgilityPack抓取网页(拒绝乱码,拒绝正则表达式)

废话不多说, 直接说需求. 公司的网站需要抓取其他网站的文章,但任务没到我这,同事搞了一下午没搞出来.由于刚刚到公司, 想证明下自己,就把活揽过来了.因为以前做过,觉得应该很简单,但当我开始做的时候,我崩溃了,http请求后,得到的是字符串竟然是乱码,然后就各种百度(谷歌一直崩溃中),最后找到了原因.由于我要抓取的网页做了压缩,所以当我抓的时候,抓过来的是压缩后的,所以必须解压一下,如果不解压,不管用什么编码方式,结果还是乱码.直接上代码: 1 public Encoding GetEncodi

创建ACL语句使真机访问虚拟服务器的web服务并禁止访问FTP服务详解

创建ACL语句使真机访问虚拟服务器的web服务并禁止访问FTP服务 首先创建拓扑,然后规划好IP地址并连接拓扑线 配置理念是先配置简单的最后配置复杂的. 首先需要保证网络拓扑的互联互通:具体配置如下 R1上面的配置 SW3上面的配置 SW2上面的配置 SW1上面的配置 设置宿主机上的IP地址 打开虚拟机server 2008配置IP地址 给server 2008服务器 添加web服务和FTP服务 点击添加角色之后,再点击下一步,进入这个页面 再点击两次下一步,就会进入这个页面 后面根据提示点击下

IIS7 MVC 403 禁止访问:访问被拒绝

IIS7 MVC 403 禁止访问:访问被拒绝

[Java]使用HttpClient实现一个简单爬虫,抓取煎蛋妹子图

  第一篇文章,就从一个简单爬虫开始吧. 这只虫子的功能很简单,抓取到”煎蛋网xxoo”网页(http://jandan.net/ooxx/page-1537),解析出其中的妹子图,保存至本地. 先放结果: 从程序来讲,步骤分为三步: 1.发起一个http请求,获取返回的response内容: 2.解析内容,分离出有效图片的url: 3.根据这些图片的url,生成图片保存至本地. 开始详细说明: 准备工作:HttpClient的Jar包,访问http://hc.apache.org/   自行下