Scrapy 获取POST请求包中内容

导读:本篇文章讲解 Scrapy 获取POST请求包中内容,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

使用Scrapy获取POST请求包中内容

  • 只在spider文件中测试输出到Terminal,没有涉及到管道(items)和下载器(pipelines)
class Spider(scrarpy.Spider):
    ...		# name、allowed_domians
	# 设置爬取延迟时间
    custom_settings = {
        'DOWNLOAD_DELAY': 0.1,  #延迟爬取时间,这个就是设置单个爬虫的 settings
        # 'RANDOMIZE_DOWNLOAD_DELAY': True 
    }
	
	# 设置请求头
	hreders = {
		'Origin':'xxx',
		'Content-Type':'xxx',
		'X-Requested-With':'xxx',
		'User-Agent':'xxx',
	}
	
	# 重写 start_requests(self) 方法
	def start_requests(self):
		# 获取POST请求包中的 Payload	变量名自定义
        pl = {
            '填入POST请求包中的request payload'
        }
        # 循环遍历
        for i in pl:
            yield scrapy.FormRequest(url='POST请求包链接',
                                     method="POST", body=i, 
                                     headers=self.headers, 
                                     callback=self.parse,
                                     dont_filter=True)
    def parse(self, response):
        # 判断POST请求 返回状态码 以及 返回文本内容 是否正常
        if response.status == 200 and len(response.text) > 10:
            # 测试输出 POST请求返回文本内容
            # print(response.text)
        	
            # 将文本内容转换成字典格式
            # 示例 
            # rows: [{attachmentsNum: 0, canBid: false, categoryCode: "111", categoryName: "XXX", clickRate: 0,…},…]
            content = json.loads(response.text)['rows']	# [Previe中最外层键]
            # 遍历获取 字典中rows键 的值
            for i in content:
                # 获取rows中的嵌套字典value
                """
                    rows: [{xxx: xxx, xxx: xxx, xxx: "xxx", xxx: "xxx",…},…]
                        0: {xxx: xx, xxx: xx, xxx: "xx", xxx: "xx",…}
                            xxx: xx
                            id: "xxx"
                            publishTime: "2022-06-24 17:45:27"
                            title: "xxxx"
                """
                title = i['title']
                ids = i['id']
                times = i['time']
                
                # 测试输出
                print(title, ids, times)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/114878.html

(0)
Java光头强的头像Java光头强

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!