前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python之scrapy的post请求、日志和代理

Python之scrapy的post请求、日志和代理

作者头像
鱼找水需要时间
发布2023-02-16 18:36:37
3660
发布2023-02-16 18:36:37
举报
文章被收录于专栏:SpringBoot教程

1. post请求

1、重写start_requests方法:

代码语言:javascript
复制
def start_requests(self) 

2、start_requests的返回值:

代码语言:javascript
复制
scrapy.FormRequest(url=url, headers=headers, callback=self.parse_item, formdata=data) 		
	url: 要发送的post地址 
	headers:可以定制头信息 
	callback: 回调函数 
	formdata: post所携带的数据,这是一个字典

使用

代码语言:javascript
复制
# 创建项目
scrapy startproject scrapy_post
cd scrapy_post/scrapy_post/spiders
scrapy genspider testpost http://fanyi.baidu.com/

testpost.py

代码语言:javascript
复制
import scrapy

import json

class TestpostSpider(scrapy.Spider):
    name = 'testpost'
    allowed_domains = ['fanyi.baidu.com']

    # post请求 如果没有参数 那么这个请求将没有任何意义
    # 所以start_urls 也没有用了
    # parse方法也没有用了
    # start_urls = ['http://fanyi.baidu.com/']
    #
    # def parse(self, response):
    #     pass

    # def parse(self, response):
    #     pass
    def start_requests(self):
        url = 'https://fanyi.baidu.com/sug'

        data = {
            'kw': 'final'
        }

        yield scrapy.FormRequest(url=url, formdata=data, callback=self.parse_second)

    def parse_second(self, response):
        content = response.text
        obj = json.loads(content, encoding='utf-8')

        print(obj)

2. 日志信息和日志等级

日志级别:

  • CRITICAL:严重错误
  • ERROR: 一般错误
  • WARNING: 警告
  • INFO: 一般信息
  • DEBUG: 调试信息

默认的日志等级是DEBUG ,只要出现了DEBUG或者DEBUG以上等级的日志 ,那么这些日志将会打印

settings.py文件设置:

默认的级别为DEBUG,会显示上面所有的信息。在配置文件中 settings.py

  • LOG_FILE : 将屏幕显示的信息全部记录到文件中,屏幕不再显示,注意文件后缀一定是.log
  • LOG_LEVEL: 设置日志显示的等级,就是显示哪些,不显示哪些

3. 代理

1、settings.py中,打开选项

代码语言:javascript
复制
DOWNLOADER_MIDDLEWARES = { 
    'postproject.middlewares.Proxy': 543, 
}

2、middlewares.py中使用代理

代码语言:javascript
复制
def process_request(self, request, spider): 
    request.meta['proxy'] = 'https://113.68.202.10:9999' 
    return None
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. post请求
    • 使用
    • 2. 日志信息和日志等级
    • 3. 代理
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档