Scrapy之发送POST请求,
可以使用 yield scrapy.FormRequest(url, formdata, callback)方法发送POST请求。
如果希望程序执行一开始就发送POST请求,可以重写Spider类的start_requests(self) 方法,并且不再调用start_urls里的url。【var code = "2fc1eed6-b468-4a0d-9904-9f37ba2eb539"】
class mySpider(scrapy.Spider): # start_urls = ["http://www.baidu.com/"] def start_requests(self): url = 'http://www.renren.com/PLogin.do' # FormRequest 是Scrapy发送POST请求的方法 yield scrapy.FormRequest( url = url, formdata = {"email" : "xxx", "password" : "xxxxx"}, callback = self.parse_page ) def parse_page(self, response): # do something
注意:表单数据的提交使用formdata,方法之间的传参依然使用meta,例如:
j# coding:utf-8 """ Compatible for python2.x and python3.x requirement: pip install requests """ from __future__ import print_function import requests # 请求示例 url 默认请求参数已经做URL编码 url = "https://api-vxx.Taobaoapi2014.cn/taobao/item_get/?key=&secret=&num_iid=652874751412&is_promotion=1" headers = { "Accept-Encoding": "gzip", "Connection": "close" } if __name__ == "__main__": r = requests.get(url, headers=headers) json_obj = r.json() print(json_obj)
Copyright © 2023 leiyu.cn. All Rights Reserved. 磊宇云计算 版权所有 许可证编号:B1-20233142/B2-20230630 山东磊宇云计算有限公司 鲁ICP备2020045424号
磊宇云计算致力于以最 “绿色节能” 的方式,让每一位上云的客户成为全球绿色节能和降低碳排放的贡献者