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

    重写父类中的一个方法(start_requests):该方法默认可以对start_urls列表中的元素进行get请求的发送
    1.将Request方法中method参数赋值成post
    2.FormRequest()可以发起post请求(推荐)

    实例:发送post请求抓取百度翻译
    spider文件
    import scrapy
    import json
    
    
    class PostdemoSpider(scrapy.Spider):
        name = 'postDemo'
        # allowed_domains = ['www.baidu.com']
        start_urls = ['https://fanyi.baidu.com/sug']
    
        # 该方法其实是父类中的一个方法:该方法可以对start_urls列表中的元素进行get请求的发送
        # 发起post:
        # 1.将Request方法中method参数赋值成post
        # 2.FormRequest()可以发起post请求(推荐)
        def start_requests(self):
            # for url in self.start_urls:
            #     yield scrapy.Request(url,callback=self.parse)
            print('start_requests()')
            # post请求的参数
            data = {
                'kw': 'dog',
            }
            for url in self.start_urls:
                yield scrapy.FormRequest(url,callback=self.parse,formdata=data)
    
        def parse(self, response):
            jsobj = json.loads(response.body) # json处理
            fanyi_data = jsobj['data']
            print(fanyi_data)
    
    
    


  • 相关阅读:
    尝试用phpmyadmin去getshell
    docker入门及环境搭建
    初始sql注入
    用BurpSuite爆破DVWA
    Sudo提权漏洞复现
    maccms后门分析
    webpack构建流程分析笔记
    《图解 HTTP》 阅读摘要
    offsetHeight、clientHeight、scrollHeight、offsetLeft 区别笔记
    js ==和===的区别
  • 原文地址:https://www.cnblogs.com/xiao-apple36/p/12730210.html
Copyright © 2011-2022 走看看