精华内容
下载资源
问答
  • 爬虫状态码503
    千次阅读
    2018-10-23 20:34:46

    基本的 状态码为400-415的为客户端错误 

                              500-505为服务器错误
      一般状态码返回503  是因为访问的服务器过载  也有可能是服务器处于维护状态

    通过浏览器可以访问到的网页 而通过爬虫 就返回状态503的一般访问过快导致是服务器过载  也就是过一会还可以接着访问改网页

    但是频繁运行爬虫感觉不是特别方便  所以就可以通过Thread.sleep()方法 来让代码休息一定的时间再去访问改网页

    通过try catch来解决

    while (true) {// 直到服务器反应过来 再接着访问 处于过载状态 代码接着休息
        Document document = null; 
        try {    
        	    document = Jsoup.connect(url).get();//获取网站html内容
                //运行成功则接着访问
                break;
        	} catch (Exception e) {
    	    System.out.println("服务器过载,休息10秒!");
    	    Thread.sleep(10000);
    	    //结束本次循环
    	    continue;
        }
    }

     

    更多相关内容
  • 上一节我们给大家介绍了Python爬虫库requests的发送请求传参等使用方法,今天为大家介绍下requests获取响应内容、响应状态码、响应头等相关信息
  • 爬虫的流程,常见状态码,418这就是个玩笑。

    1 定义

    爬虫(网络数据采集)是指自动抓取互联网信息的脚本或者程序,换句话说,是指按照程序员的想法,由程序员自定义规则编写程序批量的爬取数据(图片、音频、视频、数据等)。

    2 爬虫流程

    1. 解析HTML页面。
    2. 根据前端的语法或者正则表达式提取数据。
    3. 保存数据。

    3 爬虫常使用的请求库

    爬虫常使用的请求库有requests、urllib、selenium等。

    • urllib:一系列用于操作URL的功能。
    • requests:基于urllib编写的,阻塞式HTTP请求库,发出一个请求,一直等待服务器响应后,程序才能进行下一步处理。
    • selenium:自动化测试工具。一个调用浏览器的driver,通过这个库可以直接调用浏览器完成某些操作,比如输入验证码。

    4 常见状态码status_code

    状态码是用来判断服务器和网页的状态的。

    • 200
      表示程序和服务器正常通信。

    • 301
      HTTP 301 永久重定向说明请求的资源已经被移动到了由 Location 头部指定的url上,是固定的不会再改变。搜索引擎会根据该响应修正。

    • 302
      HTTP 302 Found 重定向状态码表明请求的资源被暂时移动到了由Location 头部指定的 URL 上。浏览器会重定向到这个URL, 但是搜索引擎不会对该资源的链接进行更新 (In SEO-speak, it is said that the link-juice is not sent to the new URL)。

    • 304
      客户端发出了条件式请求,但服务器上的资源未曾发生改变,则通过响应此响应状态码通知客户端;Not Modified。

    • 307
      即请求的资源临时从不同的 URI 响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。
      307错误

    • 401

      状态码 401 Unauthorized 代表客户端错误,指的是由于缺乏目标资源要求的身份验证凭证,发送的请求未得到满足。

    • 403

      状态码 403 Forbidden 代表客户端错误,指的是服务器端有能力处理该请求,但是拒绝授权访问。

    • 404

      状态码 404 Not Found 代表客户端错误,指的是服务器端无法找到所请求的资源。返回该响应的链接通常称为坏链(broken link)或死链(dead link),它们会导向链接出错处理(link rot)页面。网页丢失。

    • 410
      被请求的资源在服务器上已经不再可用,而且没有任何已知的转发地址。这样的状况应当被认为是永久性的。
      410错误

    • 418
      这就是个玩笑。IETF在1998年愚人节时发布的一个笑话RFC。超文本咖啡壶控制协议。
      htcpcp1.0协议中的418的意义是:当客户端给一个茶壶发送泡咖啡的请求时,茶壶就返回一个418错误状态码,表示“我是一个茶壶”。

    • 451
      因法律原因不可用,当用户请求访问某个经政府审核等查核方法后认定不合法的来源时,就会显示这个错误代码。
      451错误

    • 500

      服务器内部错误Internal Server Error,服务器崩溃。

    • 502

      代理服务器从后端服务器收到了一条伪响应,如无法连接到网关;Bad Gateway

    • 503

      服务不可用,临时服务器维护或过载,服务器无法处理请求。

    • 504

      网关超时。

    一个请求小荔枝:

    import requests
    
    URL='https://www.bilibili.com'
    # 向b站发送请求,获取b站服务器的响应结果
    response=requests.get(url=URL)
    #输出状态码
    print(response.status_code)
    
    #response.encoding='gbk',页面是什么编码方式就改成什么。
    #text: 页面源代码(字符串类型)
    print(response.text, type(response.text))
    # content:页面源代码(二进制形式(字节))
    # print(response.content)
    

    如果网页发生乱码,只需要根据页面指定编码方式解码即可。
    requests默认使用ISO-8859-1的编码(ASCII), 其也能够使用页面服务器所指定的编码方式。

    如果页面中没有charset='编码'怎么办:response.encoding=None

    展开全文
  • 我刚开始时每次碰到状态码都是一脸懵逼,反复的在百度上查资料,记得第一次使用代理IP返回407时,还跟代理云的客服发火,后来才知道是自己没做验证。在爬取数据中会碰到各种类型的状态码,为了方便大家快速查找原因...

    我刚开始时每次碰到状态码都是一脸懵逼,反复的在百度上查资料,记得第一次使用代理IP返回407时,还跟代理云的客服发火,后来才知道是自己没做验证。在爬取数据中会碰到各种类型的状态码,为了方便大家快速查找原因,为大家搜集了我工作中碰到的这些状态码,方便大家查询,(建议大家收藏呀)

    1开头的http状态码

    表示临时响应并需要请求者继续执行操作的状态代码。

    100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。

    101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。

    2开头的http状态码

    表示请求成功

    200 成功处理了请求,一般情况下都是返回此状态码;

    201 请求成功并且服务器创建了新的资源。

    202 接受请求但没创建资源;

    203 返回另一资源的请求;

    204 服务器成功处理了请求,但没有返回任何内容;

    205 服务器成功处理了请求,但没有返回任何内容;

    206 处理部分请求;

    3xx (重定向)

    重定向代码,也是常见的代码

    300 (多种选择) 针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。

    301 (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。

    302 (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

    303 (查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。

    304 (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。

    305 (使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理。

    307 (临时重定向) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

    4开头的http状态码表示请求出错

    400 服务器不理解请求的语法。

    401 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。

    403 服务器拒绝请求。

    404 服务器找不到请求的网页。

    405 禁用请求中指定的方法。

    406 无法使用请求的内容特性响应请求的网页。

    407 此状态代码与 401类似,但指定请求者应当授权使用代理。

    408 服务器等候请求时发生超时。

    409 服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。

    410 如果请求的资源已永久删除,服务器就会返回此响应。

    411 服务器不接受不含有效内容长度标头字段的请求。

    412 服务器未满足请求者在请求中设置的其中一个前提条件。

    413 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。

    414 请求的 URI(通常为网址)过长,服务器无法处理。

    415 请求的格式不受请求页面的支持。

    416 如果页面无法提供请求的范围,则服务器会返回此状态代码。

    417 服务器未满足”期望”请求标头字段的要求。

    5开头状态码并不常见,但是我们应该知道

    500 (服务器内部错误) 服务器遇到错误,无法完成请求。

    501 (尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。

    502 (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。

    503 (服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。

    504 (网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求。

    505 (HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本。

    展开全文
  • 详解常见的HTTP状态码,并附上各状态码产生实例(提供图),能够帮助读者更加直观的理解状态码的产生过程
  • 我们在数据采集过程中程序会经常返回一些状态码,响应HTTP请求会返回响应状态码,根据状态码可以知道返回信息 代表什么意思。今天我们来分享下关于407。一般爬虫程序是不会返回407的,一般出现407是在我们程序挂了...

    我们在数据采集过程中程序会经常返回一些状态码,响应HTTP请求会返回响应状态码,根据状态码可以知道返回信息
    代表什么意思。今天我们来分享下关于407。一般爬虫程序是不会返回407的,一般出现407是在我们程序挂了代理以后,比如我们的程序使用了亿牛云的动态转发代理,那在什么情况下程序会出现407呢?当我们的程序在使用了亿牛云代理后程序返回407主要是以下的一些原因:
    一、全部是http的407错误,是代理认证信息不对。
    在这里插入图片描述
    在这里插入图片描述

    二、少量http的407错误,大量http的200请求成功,有些语言库第一次请求不会传递认证信息,自动发起第二次请求并将认证信息传递,属正常情况。
    三、少量http的200请求成功,少量http的407错误,大量http的429错误,有可能是每秒请求数大量超出代理限定,代理直接返回相关错误。

    展开全文
  • Requests爬虫状态码

    2019-01-04 09:18:41
    下面是状态码以及对应的查询条件: # Informational. 100: ('continue',), 101: ('switching_protocols',), 102: ('processing',), 103: ('checkpoint',), 122: ('uri_too_long', 'request_uri_too_long'), 200: ('...
  • python爬虫状态码403解决办法

    千次阅读 2018-12-18 15:58:10
    python爬虫出现403无权限访问 当get请求网址时出现403,无网站访问权限,加入headers伪装成浏览器就可以访问了。 header = { ‘User-Agent’:‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ...
  • scrapy 爬虫报415状态码和400状态码

    千次阅读 2020-04-28 09:25:04
    返回415状态码:请求包未加header 请求包 这是一个POST请求并需要提交表单数据,所以我用了scrapy.FormRequest构造数据包,具体spider代码: class yilicai(Spider): name = "yilicai" urls = ...
  • 在使用Python进行网页数据抓取时,经常会遇到无数据返还或错误等异常,这个时候可以通过status_code命令来查看获得http请求返回的状态码,以便查找原因并制定相应的解决方案。import requestsr = requests.get(...
  • 刚刚对着视频爬了下豆瓣成功了,然后试了试CSDN,状态码400,是不是被反爬了
  • '两种方式' import urllib status=urllib.urlopen("//www.jb51.net").code print status import requests code=requests.get("//www.jb51.net").status_code print code 转载于:...
  • 解决Go语言做爬虫状态码返回418

    千次阅读 2021-01-24 22:43:56
     在使用Go语言做爬虫时,使用http.Get(url)去获取网页内容,状态码返回404,Body体为空。 原因分析  http.Get(url)是不需要设置header属性的http请求,比较简单快捷,但状态码返回418,表明我们需要设置其header...
  • 爬虫代理错误状态码

    2020-10-30 16:36:07
    使用隧道转发的爬虫代理返回的HTTP状态码: 407:表示使用隧道转发代理信息认证错误 429:请求太多,按照所开请求数做管理,控制好每秒请求数 302:一般访问HTTPS的网站,会出现自动跳转,这属于正常现象,如果访问...
  • http爬虫常返回的状态码

    千次阅读 2018-10-23 09:16:05
    http爬虫常返回的状态码以及解决方法 100:继续 客户端应当继续发送请求。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。 101: 转换协议 在发送完这个响应最后的空行后,服务器将会切换...
  • 之前写的12306查票, 直接都能运行,最近打开突然json报错,查看了一下返回的状态码是200,网上也有返回json数据,但电脑上获取就报错。上网查了半天找不到原因,有大佬帮忙看一下吗 ![图片说明]...
  • 复制了问答上楼主的代码,的确响应状态码为406 后面小编仔细检查了一下这个代码里面的请求头header里面的参数,突然发现这个Accept字段里面的值不是标准的格式,也就是他的值格式有问题。 他的代码里请求头header...
  • 比如亚马逊网站,运用爬虫爬取其网站数据时,其状态码会返回503,原因是因为其网站有反扒机制。 1.爬取京东网站,直接爬取,成功 2.用相同的方法爬取亚马逊的网站,失败 那么亚马逊网站是如何识别到是爬虫浏览...
  • 主要内容:GET和POST分别对爬取的网页状态的影响以及常见的网页状态码
  • 主要给大家汇总介绍了作者再制作nodejs爬虫遇到的乱码问题,有相同问题的小伙伴可以参考下
  • 写一个最简单的爬虫 先介绍,我的环境: Ubuntu:18.04(64位) IDE(解释为开发环境,用什么写的) Python3.6 注意Python2.X 和Python3.X有些语法问题,看情况而定 爬虫网站为'http://www.xiaozhu.com/'   前面说...
  • scrapy 爬虫之521状态码解决方案

    千次阅读 2019-08-14 17:51:50
    方案一 直接复制cookie 浏览器中直接复制cookies的键值信息,cookies不是按字符串处理哟 注意: ...状态码521是一种反爬虫技术,浏览器会自动渲染很多东西,代码爬数据会漏掉浏览器渲染的信息, ...
  • 问题:在爬虫某个网页时,返回状态码为”521“,如何解决? Code: import requests def get_one_page(url): headers = { 'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 ...
  • 常见状态码:(以下状态码在进行爬虫和网站搭建时会遇到) 200 OK - 客户端请求成功 301 - 资源(网页等)被永久转移到其它URL 302 - 临时跳转 400 Bad Request - 客户端请求有语法错误,不能被服务器所理解 401...
  • python爬虫520状态码

    2019-09-17 11:15:19
    我爬一个表情包网站的表情,数量也不多,但是出现了520状态码,这个东西是啥意思啊??
  • python爬虫——requests状态码418

    千次阅读 2020-11-09 16:12:54
      使用requests库爬取某个豆瓣电影评论,status_code为418   根据官方文档显示,status_code为200时表示get成功。查了一下官方github的issue(像“愉快地讨论”问题)以及其他资料,发现418就是爬取的网站有...
  • 爬虫遭遇状态码521陷阱 破解js加密cookie

    万次阅读 多人点赞 2018-03-01 15:02:02
    最近接了个小单,遇到一个很头疼的问题,返回的状态码无限521,在网上查阅了各种资料后,终于解决了问题返回200。首先咱们先贴上网址:点击打开链接首先我们按照传统的方法:import requests headers={ 'User-Agent...
  • 爬虫遭遇状态码521的方法

    千次阅读 2019-07-27 11:22:16
    在爬66ip代理的时候,发现一直返回的是521,在CSDN看了很多大神的解决方法,感觉很厉害(膜拜一下),也挺麻烦的,我自己试了selenium就成功了,而且也挺快的,简单代码如下: # 设置无界面 chrome_options = ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 35,417
精华内容 14,166
关键字:

爬虫状态码503