Scrapy response 请求200 但是返回的页面不完整

python 爬虫抓取数据时,请求状态码200,但是返回的页面信息不完整

2个回答

一般这种情况是页面本身是异步加载的,所以你拿到了200,但是页面内容其实是ajax等异步填充进去的数据。目前这种页面你需要用selenium等带有webdriver的模块来抓取

qq_22859253
JP晴天 这个我知道,selenium 现在也在用,我遇到的问题它是请求有时是完整页面,有时不是,这情况才烦
3 年多之前 回复

200的话,,,数据应该是成功返回了,,只是没有展示好而已

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
scrapy的response返回json格式数据处理
直接上代码就好 import json def parse_download(self, response): # 分析试听页面得到js Request URL: # https://wwwapi.kugou.com/yy/index.php?r=play/getdata&callback=jQuery19106319223909447684_155...
ajax请求失败但是返回200
jquery ajax请求成功,返回了数据,但是不进success的问题 1------------------------- dataType: "json" The documentation states that jQuery: Evaluates the response as JSON and returns a JavaScript object. (...
ajax 请求返回200 但是不进success--3
[code="java"] 最近在做一个ajax请求的时候,再次碰到了ajax请求返回的状态码是200但是没有进入到success:function(){}分支中去。 有些不解 [/code] [code="java"] 其后台代码如下: public void queryMenu(){ String areaId = request.getParameter("a...
Response返回PDF页面
这个需求出奇地简单,当然需要在服务器端事先准备好PDF,然后 response.setContentType("appliacation/pdf"); //服务器PDF所在位置,无所谓的,你爱放哪儿放哪儿,这边我是在项目里,用的相对路径 String realPath=request.getRealPath(PDF_PATH); InputStream in=new FileInputStream...
ajax请求返回页面
jsp用AJAXA请求后台返回后页面显示页面而不是和预想的弹框,如下: {"code":2,"errorCode":2004,"errorMsg":"产品类别已存在","data":{}} 错误:当前js方法内有错误,未定义的变量等
Scrapy Response对象
<p>n 在Scrapy使用实践中,我们深刻体会到Scrapy框架只实现了爬虫流程,而真正的Scrapy核心是CSS选择器、xpath和正则表达式,所以本课程一开始先讲述了这三门课程,有了这三门课程的基础再学习Scrapy就会非常轻松。n</p>n<p>n <br /></p>
html response 的status是200,但是为啥返回的response不是完整的呢?
rn我在爬虫的时候,有时候会碰到这个问题,明明status是ok的,但是返回的结果却是不完整的。rn特别是碰到爬取[b]下一页[/b]链接的时候,常常就因为这个问题导致后面几页的网页不能跟进,损失了很多数据。rnrn求大神赐教啊~~~[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/3.gif][/img]rn
spring-mvc 添加controller 请求 200 但是无返回
现象 新增加一个Controller,但在js中调用时报请求200,无请求反馈,重启服务多次,问题依旧。分析从问题现象分析:200,无反馈,断点调试未进入。200如果是后台写的代码问题,应该是500,而200说明了服务器正常收到并处理了请求,所以先排除controller代码问题:无反馈无反馈,断点调试未进入,说明没有进入当前controller代码。综合以上两点得到的分析是请求被服务器收到,但是...
response 的返回
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException rn // String aaa=request.getParameter("param");rn // System.out.println(aaa);rn response.setContentType("application/vnd.ms-excel");rn rn HSSFWorkbook wb = new HSSFWorkbook();rn HSSFSheet sheet = wb.createSheet("new sheet");rn rn HSSFRow row= sheet.createRow((short)0);rn HSSFCell cell= row.createCell((short)0);rn cell.setCellValue(1);rn row.createCell((short)1).setCellValue(1.2);rn rn row.createCell((short)3).setCellValue(true);rn OutputStream out = response.getOutputStream();rn wb.write(out);rn out.close();rn rnrn本来想想客户端返回一个EXCEL 的,但是没什么反应?rn不知道这个过程对不对?
response实现请求重定向和response…
一、1、response.setStatus(302);        response.setHeader("location","/day06/index.jsp");     2、response.sendRedirect("/day06/index.jsp"); 二、请求重定向加重浏览器的负担,能不用则不用;但是登陆成功跳到首页和买东西加入购物车就必须使用请求重定向 三、特点:浏览器会向服
scrapy请求, 只返回头部信息
公司的网站最近一直在导数据, 经常没有注意到的时候就出来一些404, 对网站不利, 所以需要检测网站的404, 最简单的就是全站爬一遍了, 但是如果用scrapy去爬的话, 遇到ajax请求这些的还得单写, 所以最终的方案是由后台的同事给出他们计算出来的所有slug的列表, 从这些slug列表中抽出一些进行404检查, 包括这些slug内部的链接也拿出来检查, check的效果还行, 就是速度实在
求教页面请求成功但是无返回数据!
html:rnrnrnjs:rn rnrnrn现在的问题是如果我直接访问请求地址是可以得到数据的,如果是从页面提交的话也会弹出alert,但是在network中显示的请求状态码是灰色的,并且没有返回数据。rn接口代码是正常的,能够返回数据,但是现在的问题是如果从页面提交接收不到,直接访问(无论是get还是post提交)都可以得到数据。rnrn我想请问一下这是什么问题?问题出在页面上吗?rnrn
通过ModelAndView返回页面,但是空白页面
页面提交form表单进入到控制器对应的方法中,但是返回的ModelAndView为空白页面? 原因是import出错了!! 应该是import org.springframework.web.servlet.ModelAndView;//针对J2EE6.0 servlet3.0的支持 不小心引入了import org.springframework.web.portlet.ModelAndVie
Scrapy爬虫框架学习之Response对象
一、什么是Response对象? response对象是用来描述一个HTTP响应的,一般是和request成对出现,你用浏览器浏览网页的时候,给网站服务器一个request(请求),然后网站服务器根据你请求的内容给你一个response(响应)。 那 Scrapy中的response又是什么东西? 其实这个response和上边讲到的作用一样,不过在Scrapy中的response是一个基类,根...
scrapy中间件request和response函数返回值
 scrapy中间件中,处理request请求的函数,它的返回值有哪几种情况,分别有什么作用?Retuen None: 将请求交给后续的中间件进行处理;Return Request: 将请求交给调度器重新调度,并终止后续中间件的执行;Return Response: 终止后续中间件及下载器的执行,直接将Response交给引擎。Return Except: 抛出异常   scrapy中间件中,处理...
scrapy的Response和Selector编码格式介绍
一、response介绍当spider发出请求之后会返回response。response是一个类,其中包括一些内置的属性。body body是response返回的内容,它的类型是str,所以body的内容编码类型是爬取页面的原类型。 例如网页的编码类型是GBK,那么body也是GBK的。 如果需要把body转换成Unicode,可以做以下处理: response.body.decode(re
response请求重定向(location)
public class LocationServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /*//设置状态码。 r...
http请求之response详解
很详细的http响应详解,非常不错的一个思维导图。。。
Response返回JSON数据
HttpServletResponse 返回Json数据 resp.setCharacterEncoding(&amp;quot;utf-8&amp;quot;); resp.setContentType(&amp;quot;application/json; charset=utf-8&amp;quot;); PrintWriter writer = resp.getWriter(); Map&amp;amp;lt;String, String&amp;amp;gt; map = new Has...
Response 怎样延迟返回
response响应给第一个客户时rn要等一个消息,这个消息是另一个客户发到服务器的rn然后服务器的response再响应第一个客户端rn
ajax--返回值类型response
xml 暂空 json  function test2(){ xhr.open('POST','./4json.php',true); xhr.send(null); xhr.onreadystatechange = function(){ if (this.readyState==4) { // alert({name:'zhang',age:23});
response设置返回的编码
var on202=function(req,res,bodyStr){ //设置为UTF-8 res.writeHead(200,{'Content-Type':'text/javascript;charset=UTF-8'}); res.end(bodyStr); }
页面元素显示不完整
请先看截图,我第一次遇到这种问题,当然,不是代码标签未写完整的,代码所有的TD,TR都是包含完整且检查了很多遍。rnrn初步认为是字符编码集的问题,但是找不到解决方法。。 rnrn有没有遇到过相似情况的同仁? 请赐教rnrn下面贴上这个页面的相应代码:rnrn[code="java"]rn<%@ page language="java" contentType="text/html; charset=UTF-8"rn pageEncoding="UTF-8"%>rnrnrnrn rn main<%@include file="../includedMain.jspf"%>rn rnrnrn rnrn rn rn rn 员工信息修改rn rn rn rn rn rn rn 员工信息 rn rn rn 真实姓名:rn *rn 性别:rn rn selected="selected"rn onchange="injectIntoForm('sexvalue','staffVO.sex','male');">男rn selected="selected"rn onchange="injectIntoForm('sexvalue','staffVO.sex','famale');">女rn rn rn rn rn 出生日期:rn rn 身份证号码:rn *rn rn rn 电子邮箱:rn rn 电话号码:rn *rn rn rn 地址:rn *rn 职位:rn rn selected="selected">rn selected="selected">rn selected="selected">rn selected="selected">rn selected="selected">rn rn rn rn 入职时间:rn rn 所属团队rn rn rn "rn selected="selected">rn rn rn rn rn 描述:rn <s:property value="staffVO.info" />rn rn rn rn rn rn rn rn rn rn rn rn rn rn rnrnrnrnrnrnrn[/code]
bug解决:android app内部请求接口返回500,但是浏览器返回200
遇到个问题,android app内部请求接口返回500,但是浏览器请求同样的接口返回200,而且都只是get请求,参数也都没问题,但是就是返回的东西不一样。 查了一天,终于看到这个贴 http://ask.csdn.net/questions/187263,是请求头的问题,两种请求头不一样,最后把浏览器请求头参数都试了一遍,找到了,设置了 Accept-Language: zh-CN,...
ajax发请求到后台通过@ResponseBody返回String,浏览器返回200但是不进success
原因:后台返回的json数据是一个纯String类型的对象时,前端dataType属性设置为json后,会认为这个由String对象转换的json数据格式不是标准的json格式,所以就去执行error对应的方法了。 解决: 后端不用改,只需要把前端ajax请求中的dataType属性设置为text即可。   码字不易,转载请注明出处!...
response的返回内容
1、response.status_code #相应状态码2、response.content #字节方式的相应体,会自动为你解码gzip和deflate压缩3、response.headers #以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None4、response.json()#Requests中内置的JSON解码器5、response.url#获取...
response返回中文乱码
        //这句话的意思,是让浏览器用utf8来解析返回的数据          response.setHeader(&quot;Content-type&quot;, &quot;text/html;charset=UTF-8&quot;);          String data = &quot;中文串&quot;;          OutputStream ps = response.getOutputStream();        ...
response返回数据中文乱码
public void render(HttpServletRequest request, HttpServletResponse response) throws Exception {         response.setContentType("text/javascript;charset=UTF-8");         response.setHeader("Cache-
response 返回json字符串
List&amp;lt;HashMap&amp;lt;String, Object&amp;gt;&amp;gt; mapList= new ArrayList&amp;lt;HashMap&amp;lt;String, Object&amp;gt;&amp;gt;(); response.setCharacterEncoding(&quot;UTF-8&quot;); response.setContentType(&quot;application/json;char...
ajax向django后台请求静态页面,200 成功,但是却执行error函数,没有写数据返回,只是单纯的返回页面
通过ajax向django后台返回静态页面,没有数据的传输,只是单纯的请求页面,chrome的network里面成功返回页面,但是浏览器并没有将页面渲染出来rn[img=https://img-bbs.csdn.net/upload/201703/05/1488722460_617753.png][/img][img=https://img-bbs.csdn.net/upload/201703/05/1488722467_174926.png][/img][img=https://img-bbs.csdn.net/upload/201703/05/1488722473_280873.png][/img]
安卓 http请求服务器数据的时候返回json数据不完整
得到的数据::"582fce0534477dc29af07c47","status":4,"createTime":"2016-11-19 11:59:01","title":"图片测试","type":"龙门阵","id":"5825704334477dee7d4d9f20","status":4,"createTime":"2016-11-11 15:16:19","title":"yyhgghhj","type":"看稀奇"],"rows":null,"total":0","id":"58491f8f34477d2593e2cddb","status":1,"createTime":"2016-12-08 16:53:35","title":"嘟家产品占领成都市场","type":"龙门阵","id":"58491f8f34477d2593e2cdd9","status":1,"createTime":"2016-12-08 16:53:35","title":"嘟家产品占领成都市场","type":"龙门阵","id":"5835305d34477dd7106a98c6","status":5,"createTime":"2016-11-23 13:59:57","title":"拼菜","type":"吃耍货","id":"58352fd534477dd7106a98c4","status":4,"createTime":"2016-11-23 13:57:41","title":"元旦晚会","type":"嗨朋友","id":"582fdd7c34477dc29af07c51","status":5,"createTime":"2016-11-19 13:05:00","title":"测试23","type":"龙门阵","id":"582fd7ee34477dc29af07c4b","status":4,"createTime":"2016-11-19 12:41:18","title":"图片测试","type":"龙门阵","id"rnrn这就是返回的数据
模拟http请求什么状况下,状态值为200,但返回的response的数据为空?
最近在用http模拟请求数据,发现前几天请求都是正常返回数据的,但是今天发现经常性出现返回状态码是200,但是response为空,偶尔才会有一次正常返回数据,请问造成这种现象主要可能原因是什么?是因为对方做了请求限制吗?
scrapy发送post请求
一些请求,用requests或者postman没有问题,而用scrapy出现问题。 一部分原因是因为headers写的不够准确,还有一部分则是因为参数的原因。 scrapy发送post请求,参数的value必须是字符串,requests则没有那么严格。 def start_requests(self): yield scrapy.FormRequest( url='https:...
scrapy设置"请求池"
scrapy设置”请求池”引言 相信大家有时候爬虫发出请求的时候会被ban,返回的是403错误,这个就是请求头的问题,其实在python发出请求时,使用的是默认的自己的请求头,网站管理者肯定会不允许机器访问的,但是有些比较low的网站还是可以访问的,有时候网站管理者看到同一个请求头在一秒内请求多次,傻子都知道这是机器在访问,因此会被ban掉,这时就需要设置请求池了,这个和ip代理池是一个概念 爬
【200分】HttpWebRequest/Response/WebClient获取的不是期望的页面
比如这样一个页面(台湾网址,不用代理的话,国内IP有时候能访问,有时候访问不了):rnhttp://mybid.ruten.com.tw/credit/rule_p?wzappleom2rn用WebClient(HttpWebReuest/HttpWebResponse结果一样)得到的页面只是一个“中间/等待”页面,显示:rn商品搜尋處理中rnrn但用IE打开,是一个正常的页面,而如果网速比较慢,也会时示那个“中间/等待”页面,似乎是这样:rn访问这个网址后,先显示一个等待页面,后台查询完后,返回给你结果页面,因为一般情况网速正常的话,几乎是马上返回结果页面,所以就看不见等待页面,而用编程的方式取到的就是等待页,有什么办法能获取最后的页面吗?rnrn需要强调的是,这不是一个跳转页面,因为url没有任何变化,而且WebClient/HttpWebReuqest默认就是自动跳转的,所以应该不是跳转的问题,大概网页是这样显示的吧:rnrnPage_Load()rnrn Output("正在查询");rn res=Query();//rn Clear("正在查询");rn Output(res);rnrnrn当然,我只是猜的rnrn怎么才能取到正确的页面呢?rn
Scrapy请求丢失情况
请求丢失场景: 在项目运行的过程中,Ctrl+C 主动终止进程,或爬虫代码异常等程序非正常结束的情况下,获取数据的过程没有完成,但某个request对象已经从队列中取出。此时fp指纹集合中已经存在了该指纹,再次启动该项目时,因为设置了请求去重,无法再发出该请求。 解决方案: 1.添加一个请求备份容器。 2.给request对象设置一个重试次数的属性。...
scrapy 框架之post请求
通常网站通过 实现对某些表单字段(如数据或是登录界面中的认证令牌等)的预填充。使用Scrapy抓取网页时,如果想要预填充或重写像用户名、用户密码这些表单字段,
Scrapy发送POST请求
scrapy默认发送的是get请求发送post请求时需要重载start_requests(self):
scrapy请求队列:
Scrapy 如何获取 request 队列? 最近由于在数据量比较大的抓取遇到了一些问题,就想看看运行时的request队列中的url有什么,可是google的很久也没找到获取request队列的api,我查了这么久得出以下结论:  1.spider运行时的request由schedule控制  2.可以通过self.crawler.engine.schedule这种方式获取到schedule...
scrapy之发送POST请求
可以使用 yield scrapy.FormRequest(url, formdata, callback)方法发送POST请求。 如果希望程序执行一开始就发送POST请求,可以重写Spider类的start_requests(self) 方法,并且不再调用start_urls里的url。 例如: class mySpider(scrapy.Spider): # start_ur...
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法