用python写爬虫-2.3requests库之post转get

post方法虽然好用,但是要把form data信息复制粘贴转成dic形式,还是有点麻烦,这回说一说post与get的相互转换。
还是12306网站,上回说了网站用的post方法。


image.png

还是关注一下它的form data一栏。


image.png

这次不一样的是,点击view source,之后就会看见表格形式的数据变成了一大堆符号。


image.png

这就是关键了。把这个信息与domain用‘?’组合起来,就是get方法的url了。

import requests
def posttoGet():
    re = requests.get('https://kyfw.12306.cn/otn/leftTicket/init?_json_att=&leftTicketDTO.from_station_name=%E8%A5%BF%E5%AE%81&leftTicketDTO.to_station_name=%E6%A0%BC%E5%B0%94%E6%9C%A8&leftTicketDTO.from_station=XNO&leftTicketDTO.to_station=GRO&leftTicketDTO.train_date=2018-04-10&back_train_date=2018-04-10&flag=dc&purpose_code=ADULT&pre_step_flag=index')
    print(re.text)

有2点需注意,一个是前面说的,要用问号连接domain和查询信息,另一个是假如网址已经有了问号,即已经带着一些查询信息,那我们要加的内容就用&连接即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,997评论 19 139
  • 同步请求可以从因特网请求数据, 一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成, 才可以进行下一步操...
    小灬博阅读 895评论 2 4
  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 4,250评论 4 16
  • 大家都知道: get是从服务器上获取数据,post是向服务器传送数据。前者把参数数据加在了将参数直接写在访问路径上...
    Littleredguy阅读 1,139评论 0 3
  • 独怆然乎,灵台江海自飘摇。庵庐地远多幽径,白屋罗雀生奥草。欹青琐以独啜,扶玄柱而吟啸。矫首颙望,明月无心以流照。低...
    恨思汴梁阅读 235评论 0 3