python培训之scrapy.Request发送请求的方式

发布时间:2023-02-03 09:56:24 人气:116 作者:多测师

  python scrapy.Request发送请求的方式

  说明

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

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

  实例

  import scrapy

  class Git2Spider(scrapy.Spider):

  name = 'git2'

  allowed_domains = ['github.com']

  start_urls = ['http://github.com/login']

  def parse(self, response):

  username = 'GitLqr'

  password = 'balabala'

python培训之scrapy.Request发送请求的方式

  # 从登录页面响应中解析出post数据

  token = response.xpath('//input[@name="authenticity_token"]/@value').extract_first()

  post_data = {

  'commit': 'Sign in',

  'authenticity_token': token,

  'login': username,

  'password': password,

  'webauthn-support': 'supported',

  }

  print(post_data)

  # 针对登录url发送post请求

  yield scrapy.FormRequest(

  url='https://github.com/session',

  callback=self.after_login,

  formdata=post_data

  )

  def after_login(self, response):

  yield scrapy.Request('https://github.com/GitLqr', callback=self.check_login)

  def check_login(self, response):

  print(response.xpath('/html/head/title/text()').extract_first())

  以上就是python scrapy.Request发送请求的方式,希望对大家有所帮助。更多Python学习指路:请关注多测师。https://www.e70w.com/xwzx/




返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线