首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用scrapy发送post请求的坑

使用requests发送post请求 先来看看使用requests来发送post请求是多少好用,发送请求 Requests 简便的 API 意味着所有 HTTP 请求类型都是显而易见的。...使用scrapy发送post请求 官方推荐的 Using FormRequest to send data via HTTP POST return [FormRequest(url="http://www.example.com...但是,超级坑的一点来了,今天折腾了一下午,使用这种方法发送请求,怎么发都会出问题,返回的数据一直都不是我想要的 return scrapy.FormRequest(url, formdata=(payload...)) 在网上找了很久,最终找到一种方法,使用scrapy.Request发送请求,就可以正常的获取数据。...仍然可以发送post请求。这让我想起来requests中的request用法,这是定义请求的基础方法。

5.6K20

爬虫系列(14)Scrapy 框架-模拟登录-Request、Response。

Scrapy-Request和Response(请求和响应) Scrapy的Request和Response对象用于爬网网站。...通常,Request对象在爬虫程序中生成并传递到系统,直到它们到达下载程序,后者执行请求并返回一个Response对象,该对象返回到发出请求的爬虫程序。...使用FormRequest通过HTTP POST发送数据 如果你想在你的爬虫中模拟HTML表单POST并发送几个键值字段,你可以返回一个FormRequest对象(从你的爬虫)像这样: return...()返回的请求会替代start_urls里的请求 - Request()get请求,可以设置,url、cookie、回调函数 - FormRequest.from_response()表单post提交,...第一个必须参数,上一次响应cookie的response对象,其他参数,cookie、url、表单内容等 - yield Request()可以将一个新的请求返回给爬虫执行 **在发送请求时cookie

1.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

网络爬虫框架Scrapy详解之Request

通常在Spider中创建这样的一个请求,在Downloader中执行这样的一个请求。同时也有一个子类FormRequest继承于它,用于post请求。...若需要POST请求,用FormRequest即可 headers 请求头信息,一般在settings中设置即可,也可在middlewares中设置 body str类型,为请求体,一般不需要设置(get...和post其实都可以通过body来传递参数,不过一般不用) cookies dict或list类型,请求的cookie dict方式(name和value的键值对): cookies = {'name1...),可以多次执行相同的请求 errback 抛出错误的回调函数,错误包括404,超时,DNS错误等,第一个参数为Twisted Failure实例 from scrapy.spidermiddlewares.httperror...FormRequest 类为Request的子类,用于POST请求 这个类新增了一个参数 formdata,其他参数与Request一样,详细可参考上面的讲述 一般用法为: yield scrapy.FormRequest

85000

scrapy模拟登陆

scrapy有三种方法模拟登陆方式: 直接携带cookies 找url地址,发送post请求存储cookie 找到对应的form表单,自动解析input标签,自动解析post请求的url地址,自动带上数据...,自动发送请求 1、携带cookies登陆github import scrapy import re class Login1Spider(scrapy.Spider): name = '...中cookie不能够放在headers中,在构造请求的时候有专门的cookies参数,能够接受字典形式的coookie 在setting中设置ROBOTS协议、USER_AGENT 2、使用scrapy.FormRequest...()登录 通过scrapy.FormRequest能够发送post请求,同时需要添加fromdata参数作为请求体,以及callback yield scrapy.FormRequest(...response)传递下去 customerData = {'key1': 'value1', 'key2': 'value2','proxy': 'http://127.0.0.1:8888'} yield scrapy.FormRequest

85010

Python爬虫之scrapy模拟登陆

scrapy模拟登陆 学习目标: 应用 请求对象cookies参数的使用 了解 start_requests函数的作用 应用 构造并发送post请求 ---- 1....应用场景 cookie过期时间很长,常见于一些规范的网站 能在cookie过期之前把所有的数据拿到 配合其他程序使用,比如其使用selenium把登陆之后的cookie获取到保存到本地,scrapy...发送post请求 我们知道可以通过scrapy.Request()指定method、body参数来发送post请求;但是通常使用scrapy.FormRequest()来发送post请求 3.1...发送post请求 注意:scrapy.FormRequest()能够发送表单和ajax请求,参考阅读 https://www.jb51.net/article/146769.htm 3.1.1 思路分析...请求,传递给引擎 yield scrapy.FormRequest( "https://github.com/session", formdata

1.5K20

12、web爬虫讲解2—Scrapy框架爬虫—Scrapy模拟浏览器登录—获取Scrapy框架Cookies

Request()get请求,可以设置,url、cookie、回调函数 FormRequest.from_response()表单post提交,第一个必须参数,上一次响应cookie的response...对象,其他参数,cookie、url、表单内容等 yield Request()可以将一个新的请求返回给爬虫执行 在发送请求时cookie的操作, meta={'cookiejar':1}表示开启cookie...()里post授权 meta={'cookiejar':True}表示使用授权后的cookie访问需要登录查看的页面 获取Scrapy框架Cookies 请求Cookie Cookie = response.request.headers.getlist...from scrapy.http import Request,FormRequest class PachSpider(scrapy.Spider):                            ..."""第二次用表单post请求,携带Cookie、浏览器代理、用户登录信息,进行登录给Cookie授权"""         return [FormRequest.from_response(response

59900

Scrapy从入门到放弃2--模拟登入

scrapy模拟登陆 学习目标: 应用 请求对象cookies参数的使用 了解 start_requests函数的作用 应用 构造并发送post请求 ---- 1....应用场景 cookie过期时间很长,常见于一些规范的网站 能在cookie过期之前把所有的数据拿到 配合其他程序使用,比如其使用selenium把登陆之后的cookie获取到保存到本地,scrapy...发送post请求 我们知道可以通过scrapy.Request()指定method、body参数来发送post请求;但是通常使用scrapy.FormRequest()来发送post请求 3.1...发送post请求 注意:scrapy.FormRequest()能够发送表单和ajax请求,参考阅读 https://www.jb51.net/article/146769.htm 3.1.1 思路分析...请求,传递给引擎 yield scrapy.FormRequest( "https://github.com/session", formdata

1.7K30

python爬虫scrapy模拟登录demo

项目和spider,可以看我前面的博客 我们在这里做了一个简单的介绍,我们都知道scrapy的基本请求流程是startrequest方法遍历starturls列表,然后makerequestsfromurl...方法,里面执行Request方法,请求starturls里面的地址,但是这里我们用的不再是GET方法,而用的是POST方法,也就常说的登录。...,往哪里提交) 2、startrequest方法GET到数据后,用callback参数,执行拿到response后要接下来执行哪个方法,然后在login方法里面写入登录用户名和密码(还是老样子,一定要用...dict),然后只用Request子类scrapy.FormRequest这个方法提交数据,这我一个的是FormRequest.fromresponse方m_法。...# -*- coding: utf-8 -*- import scrapy from scrapy import FormRequest,Request class ExampleLoginSpider

1.5K20

《Learning Scrapy》(中文版)第5章 快速构建爬虫一个具有登录功能的爬虫使用JSON APIs和AJAX页面的爬虫在响应间传递参数一个加速30倍的项目爬虫可以抓取Excel文件的爬虫总结

反过来,在每一个后续请求中,浏览器把它发送回服务器,以确定你、用户和期限。这让你可以执行复杂的需要服务器端状态信息的操作,如你购物车中的商品或你的用户名和密码。...总结一下,单单一个操作,如登录,可能涉及多个服务器往返操作,包括POST请求和HTTP重定向。Scrapy处理大多数这些操作是自动的,我们需要编写的代码很简单。...我们要在http://localhost:9312/dynamic/login上面模拟一个POST请求登录。我们用Scrapy中的类FormRequest来做。...例如一些网站在执行POST请求时,需要通过从表单页面到登录页面传递某种形式的变量以确定cookies的启用,让你使用大量用户名和密码暴力破解时变得困难。 ?...或者,如果你使用scrapy shell或在Chrome中右键点击查看网页源代码(3,4),你会看到这个网页的HTML代码包含任何和值有关的信息。数据都是从何而来呢? ?

3.9K80

Python爬虫入门教程 30-100 高考派大学数据抓取 scrapy

本篇文章没有涉及 高考派大学数据----创建Scrapy爬虫 通过命令行进入到 mySpider/spiders/ 目录,然后执行如下命令 scrapy genspider GaoKao "www.gaokaopai.com...请求,本打算实现一个GET的,这回代码量有点大了~ [plnod7ixnt.jpeg] scrapy 模式是GET请求的,如果我们需要修改成POST,那么需要重写Spider类的start_requests...=self.parse) FormRequest 需要引入模块 from scrapy import FormRequest self.start_url 写上post请求的地址即可 formdata...如果你这么干的,那么你只能 采用下面的操作,就是比较麻烦。...cd到爬虫目录里执行scrapy crawl GaoKao--nolog命令 说明:scrapy crawl GaoKao(GaoKao表示爬虫名称) --nolog(--nolog表示不显示日志) [

74940
领券