Scrapy发送POST请求
一、发送post请求需要将start_urls注释,然后重写start_requests方法
二、使用yield scrapy.FormRequest(url=post_url, formdata=formdata, callback=self.parse)
# -*- coding: utf- -*-
import scrapy
class BufySpider(scrapy.Spider):
name = 'bufy'
allowed_domains = ['fanyi.baidu.com']
# 发送post请求,需要注释掉start_urls
# start_urls = ['http://fanyi.baidu.com/']
def start_requests(self):
post_url = 'http://fanyi.baidu.com/sug'
# 表单数据
formdata = {
'kw': 'wolf',
}
# 发送请求
yield scrapy.FormRequest(url=post_url, formdata=formdata, callback=self.parse)
# 此方法用于保存响应数据
def parse(self, response):
content = response.text
obj = json.loads(content)
str = json.dumps(obj,ensure_ascii=False)
with open('fanyi.json','w',encoding='utf-8')as fp:
fp.write(str)
Scrapy发送POST请求的更多相关文章
- scrapy 发送post请求
登录人人网为例 1.想要发送post请求,那么使用'scrapy.FormRequest'方法,可以方便的指定表单数据 2.如果想在爬虫一开始的时候就发送post请求,那么应该重写'start_req ...
- scrapy基础知识之发送POST请求:
可以使用 yield scrapy.FormRequest(url, formdata, callback)方法发送POST请求. 如果希望程序执行一开始就发送POST请求,可以重写Spider类的s ...
- scrapy 发post请求
可以使用 yield scrapy.FormRequest(url, formdata, callback)方法发送POST请求. 如果希望程序执行一开始就发送POST请求,可以重写Spider类的s ...
- scrapy框架发送post请求
注:scrapy框架默认发送get请求 1.想要发送post请求,那么推荐使用‘scrapy.FormRequest’方法.可以方便的制定表单数据.request = scrapy.FormReque ...
- scrapy框架post请求发送,五大核心组件,日志等级,请求传参
一.post请求发送 - 问题:爬虫文件的代码中,我们从来没有手动的对start_urls列表中存储的起始url进行过请求的发送,但是起始url的确是进行了请求的发送,那这是如何实现的呢? - 解答: ...
- 【python爬虫】scrapy入门8:发送POST请求
scrapy基础知识之发送POST请求与使用 FormRequest.from_response() 方法模拟登陆 https://blog.csdn.net/qq_33472765/article/ ...
- scrapy-redis源码解读之发送POST请求
1 引言 这段时间在研究美团爬虫,用的是scrapy-redis分布式爬虫框架,奈何scrapy-redis与scrapy框架不同,默认只发送GET请求,换句话说,不能直接发送POST请求,而美团的数 ...
- Scrapy 发送Request Payload
Scrapy 发送Request Payload 首先要打开 F12 进入调试模式 然后 查看是用什么方法获取的 如果是Json: 1. json.dumps 转化成Json yield Reques ...
- Java发送Http请求并获取状态码
通过Java发送url请求,查看该url是否有效,这时我们可以通过获取状态码来判断. try { URL u = new URL("http://10.1.2.8:8080/fqz/page ...
随机推荐
- HDU 3016 Man Down(线段树)
HDU 3016 Man Down 题目链接 题意:是男人就下100层的游戏的简单版,每次仅仅能从两端下落.求落地最大血量 思路:利用线段树能够处理出每一个线段能来自哪几个线段.然后就是dag最长路了 ...
- cocos2dx下的A星算法
这是我依据这篇博文http://hi.baidu.com/wsapyoemdfacmqr/item/bdfb5c0a74c904d01ef0466d.来在cocos2dx上编写.这是终于的效果图: 红 ...
- mvc中使用remote属性来做ajax验证
mvc中使用remote属性来做ajax验证比較easy : [Remote("Action", "Controller", AdditionalFields ...
- 福建省赛--Problem E The Longest Straight(标记+二分)
Problem E The Longest Straight Accept: 71 Submit: 293 Time Limit: 1000 mSec Memory Limit : 327 ...
- hpuoj--1695--一道签到题(KMP)
1695: 一道签到题 时间限制: 2 Sec 内存限制: 128 MB 提交: 72 解决: 36 [提交][状态][讨论版] 题目描述 我想说这是一道签到题,意思就是本次测试中最水的一道,不过 ...
- 搭建Mysql双机热备 (主从同步)
准备两台centos7主机:10.0.18.132 master 10.0.18.136 slave 先把selinux关闭,iptables关闭 或者添加端口 132 master安装好Mysq ...
- Kali linux 2016.2(Rolling)里Metasploit的OpenVAS
不多说,直接上干货! 关于OpenAVS的概念,我这里不多赘述. 前提得,大家要先安装好OpenVAS!!! 我们都知道,BT5中已经预先安装好了OpenVAS网络漏洞扫描工具,我们只需进行一些配置即 ...
- 如何启动和关闭MySQL?(四)
分为: 图形化 命令行 方法一:在“计算机”的图标上右键,然后选择“管理”,双击“服务和应用程序”,然后选择“服务”,找到“MySQL”这个服务,然后点击“右键”,就可以进行“停止”和“重新启动”的操 ...
- 使用python fabric搭建RHEL 7.2大数据基础环境以及部分优化
1.使用python fabric进行Linux基础配置 使用python,可以让任何事情高效起来,包括运维工作,fabric正式这样一套基于python2的类库,它执行本地或远程shell命令提供了 ...
- JS动态创建表单post提交
<script> //@创建表单方法 function post(URL, PARAMS) { var temp = document.createElement("form&q ...