当前位置: 首页 > 图灵资讯 > 行业资讯> python scrapy.Request发送请求的方式

python scrapy.Request发送请求的方式

来源:图灵python
时间: 2024-07-04 14:49:50

说明

1、使用scrapy.Request()指定method,body参数发送post请求。

2、使用scrapy.FormRequest()发送post请求,或发送表格和ajax请求。

实例

importscrapy


classgit2Spider(scrapy.Spider):
name='git2'
allowed_domains=['github.com']
start_urls=['http://github.com/login']

defparse(self,response):
username='GitLqr'
password='balabala'

#post数据从登录页面响应中分析
token=response.xpath('//input[@name="authenticity_token"]/@value').extract_first()

post_data={
'commit':'Signin',
'authenticity_token':token,
'login':username,
'password':password,
'webauthn-support':'supported',
}
print(post_data)

#为登录url发送post请求
yieldscrapy.FormRequest(
url='https://github.com/session',
callback=self.after_login,
formdata=post_data
)

defafter_login(self,response):
yieldscrapy.Request('https://github.com/GitLqr',callback=self.check_login)

defcheck_login(self,response):
print(response.xpath('/html/head/title/text()').extract_first())

以上是python scrapy.Request发送请求的方式,希望对大家有所帮助。更多Python学习指导:python基础教程

本文教程操作环境:windows7系统Python 3.9.1,DELL G3电脑。