博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
scrapy发送POST请求
阅读量:6242 次
发布时间:2019-06-22

本文共 1217 字,大约阅读时间需要 4 分钟。

 

发送post请求

可以使用 yield scrapy.FormRequest(url, formdata, callback)方法发送POST请求。

如果希望程序执行一开始就发送POST请求,可以重写Spider类的start_requests(self) 方法,并且不再调用start_urls里的url。

 

1 class mySpider(scrapy.Spider): 2     # start_urls = ["http://www.example.com/"] 3   4     def start_requests(self): 5         url = 'http://www.renren.com/PLogin.do' 6   7         # FormRequest 是Scrapy发送POST请求的方法 8         yield scrapy.FormRequest( 9             url = url,10             formdata = {
"email" : "xxx", "password" : "xxx"},11 callback = self.parse_page12 )13 def parse_page(self, response):14 # do something

 注意:表单数据的提交使用formdata,方法之间的传参依然使用meta,例如:

class mySpider(scrapy.Spider):    # start_urls = ["http://www.example.com/"]     def start_requests(self):        url = 'http://www.renren.com/PLogin.do'         # FormRequest 是Scrapy发送POST请求的方法        yield scrapy.FormRequest(            url = url,            formdata = {
"email" : "xxx", "password" : "xxxxx"}, callback = self.parse_page, meta = {
"key1":"value1","key2":"value2"} ) def parse_page(self, response): value1 = response.meta["key1"] # do something

 

转载于:https://www.cnblogs.com/wanglinjie/p/9246613.html

你可能感兴趣的文章
NetBeans IDE 7.4 Beta版本build JavaFX时生成的可执行jar包执行时找不到依赖的jar包
查看>>
笔记本wifi热点设置好后,手机连上但不能上网问题
查看>>
Run ASP.NET MVC site on mac (mono/xamarin studio)
查看>>
win8.1安装驱动出现“文件的哈希值不在指定的目录”的解决办法[zz]
查看>>
CRM 常用SQL 脚本
查看>>
备忘录--关于线程和IO知识
查看>>
【iCore3 双核心板】例程八:定时器PWM实验——呼吸灯
查看>>
jquery tmpl 详解
查看>>
docker学习笔记4:利用docker hub上的mysql镜像创建mysql容器
查看>>
【Xamarin开发 Android 系列 3】循序渐进的学习顺序
查看>>
自定义列表dl的使用原因和场合
查看>>
Oracle11G 卸载步骤
查看>>
PHP递归生成树形数组
查看>>
学习RSA公开密钥算法
查看>>
教你摆脱低级程序猿 项目中cocopads的安装使用
查看>>
禁止火狐浏览器缓存input标签方法
查看>>
[ilink32 Error] Error: Unresolved external '__fastcall Data::Win::Adodb::TCustomADODataSet
查看>>
.NET Core:面向未来的开源跨平台开发技术
查看>>
常用正则表达式
查看>>
超大批量删除redis中无用key+配置
查看>>