平时用的scrapy都是用的get请求,这也是它默认的方式,但是如果需要用到post请求应该怎么写呢,在查找 了相关资料后,发现了FormRequest方法,现记录如下:
import scrapy
class DemoSpider(scrapy.Spider):
name = 'demo'
allowed_domains = ['www.baidu.com']
# 删除start_urls, 并重写start_requests方法
def start_requests(self):
# url 这里必须是字符串,而不是字符串
url = 'http://www.ttzmz.vip/user/login.html'
yield scrapy.FormRequest(
url=url,
# 需要的参数放在formdata中
formdata={'username': 'Andy963', "password": "xxx", 'loginsubmit':"登录"},
callback=self.parse
)
def parse(self, response):
print(response)
# <200 http://www.ttzmz.vip/user/login.html>
至于后续的处理,或者还有没有其它的实现方法,再更新......