哆啦A梦 50周年应援

scrapy的post请求

1)重写start_requests方法:
  def start_requests(self)
2) start_requests的返回值:
  scrapy.FormRequest(url=url, headers=headers, callback=self.parse_item, formdata=data)
    url: 要发送的post地址
    headers:可以定制头信息
    callback: 回调函数
    formdata: post所携带的数据,这是一个字典
1、创建项目

2、找到百度翻译接口

3、创建爬虫文件

testpost.py

import scrapy
import
json class TestpostSpider(scrapy.Spider): name = 'testpost' allowed_domains = ['https://fanyi.baidu.com/sug'] # post请求 如果没有参数 那么这个请求将没有任何意义 # 所以start_urls 也没有用了 # parse方法也没有用了 # start_urls = ['https://fanyi.baidu.com/sug/'] # # 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
     # 使用json解析字符串变成对象
     obj
= json.loads(content,encoding='utf-8')       print(obj)
代理 
1)到settings.py中,打开一个选项
DOWNLOADER_MIDDLEWARES = {
'postproject.middlewares.Proxy': 543,
}
 
2)middlewares.py中间件 代理的设置
def process_request(self, request, spider):
request.meta['proxy'] = 'https://113.68.202.10:9999'
return None
posted @ 2021-11-18 19:01  秋泊ソース  阅读(117)  评论(0编辑  收藏  举报