zoukankan      html  css  js  c++  java
  • 发起post请求

      之前我们一直使用的都是get请求,但是我们也并没有指定。那是因为,当引擎检测到start_urls里面的url时会自动触发事务,发起start_requests()请求,这个默认就是get请求。

    所以需要重写这个方法。

    不多说,直接看代码

    # -*- coding: utf-8 -*-
    import scrapy
    
    #需求:百度翻译中指定词条对应的翻译结果进行获取
    class PostdemoSpider(scrapy.Spider):
        name = 'postDemo'
        #allowed_domains = ['www.baidu.com']
        start_urls = ['https://fanyi.baidu.com/sug']
    
        #该方法其实是父类中的一个方法:该方法可以对star_urls列表中的元素进行get请求的发送
        #发起post:
            #方法1.将Request方法中method参数赋值成post
            #方法2.FormRequest()可以发起post请求(推荐)
        def start_requests(self):
            print('start_requests()')
            #post请求的参数
            data = {
                'kw': 'dog',
            }
            for url in self.start_urls:
                #formdata:请求参数对应的字典
                yield scrapy.FormRequest(url=url,formdata=data,callback=self.parse)
    
        def parse(self, response):
            print(response.text)
  • 相关阅读:
    图像压缩算法
    Haar-like特征来龙去脉
    Haar-like特征来龙去脉
    DSP VLIB实验
    DSP VLIB实验
    “主宰世界”的10种算法短评
    “主宰世界”的10种算法短评
    matlab截取图像
    matlab截取图像
    matlab求取积分
  • 原文地址:https://www.cnblogs.com/yuliangkaiyue/p/10032759.html
Copyright © 2011-2022 走看看