首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
mapnaqi
V2EX  ›  Python

scrapy post 怎么发送 json 数据

  •  
  •   mapnaqi · 348 天前 · 1781 次点击
    这是一个创建于 348 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需要带的数据为 data = {"a": [{"b": 'c'}]} 我用的这种写法一直不对, return scrapy.FormRequest( body=json.dumps(data), )

    12 回复  |  直到 2019-02-15 00:26:12 +08:00
    butterfly1211
        1
    butterfly1211   348 天前
    不需要 json.loads 直接传字典试试
    mapnaqi
        2
    mapnaqi   348 天前
    试过, 不行, formdata 传字典, 或者 body 传 json 都是 状态码 408 的错误
    butterfly1211
        3
    butterfly1211   348 天前
    可以试着传一下抓包 body 的截图,如果是"?1=2&3=4"这种的话需要可能需要换个思路
    mapnaqi
        4
    mapnaqi   348 天前
    @butterfly1211 数据长这个样子, b 是一个编码, 是数字和英文的
    data = {"lineItems": [{"catalogNumber": b}]}
    用 requests 写没问题, 用了 scrapy 就是 408,
    butterfly1211
        5
    butterfly1211   348 天前
    试一下,request = scrapy.Request( url, method='POST',
    body=json.dumps(my_data),)方式
    airect
        6
    airect   348 天前   ♥ 1
    body 里是 json 字符串,headers 中加 Content-Type: application/json
    mapnaqi
        7
    mapnaqi   348 天前
    @butterfly1211 还是不行
    mapnaqi
        8
    mapnaqi   348 天前
    408 Request Time-out
    butterfly1211
        9
    butterfly1211   348 天前   ♥ 1
    FormRequest 中 {‘ key': ‘ value', ‘ k': ‘ v'}会被转化为'key=value&k=v' 并且默认的 method 是 POST,你可以再看一下 body 的原始格式,看是这种 key-value 的形式还是 json 格式在作分析
    cz5424
        10
    cz5424   348 天前 via iPhone
    @mapnaqi 这个提示并不是请求格式的问题吧,自己抓自己包看看
    encro
        11
    encro   347 天前
    抓包,或者写一个测试用例接受请求过来的 body 和 head,比较有什么不同,实在不行用 request 替代好了。最新的 request-html 已经自带 html 解析,满足大部分爬虫场景。
    luoleng
        12
    luoleng   345 天前
    formdata=data
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1992 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 29ms · UTC 03:22 · PVG 11:22 · LAX 19:22 · JFK 22:22
    ♥ Do have faith in what you're doing.