当前位置: 首页 > news >正文

python开发:爬虫示例——GET和POST请求处理

一、Get请求 

import json
import requests#输入示例:url='https://www.baidu.com'
#RequestHeader:F12标头-请求标头-原始-复制到这(忽略第一句)
def GetRequest(url,RequestHeader=""):try:dic={}RequestHeaderList = RequestHeader.strip().split("\n")if RequestHeader!="":for item in RequestHeaderList:if ":" in item:key = item.split(":")[0].strip()value = item.split(":")[1].strip()dic[key] = valueelse:dic["User-Agent"]="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 Edg/132.0.0.0"#dic["Cookie"]=""response=requests.get(url=url,headers=dic)  ##跳过安全验证:逗号补充一个“verify=False”response.encoding='utf-8'  ##一般填写utf-8或者gbkdata=response.json() #获取json字符串data = json.dumps(data, indent=4, sort_keys=True, ensure_ascii=False)#字符串格式化为json#print(data)#打印Jsonresponse.close()data = json.loads(data)#json转化为py字典#print(data)#打印字典return dataexcept Exception as ex:print(f"爬取异常,错误:{ex}")if __name__ == '__main__':url = "https://xxxx/query?leftTicketDTO.train_no=6e000D402202&leftTicketDTO.train_date=2025-02-14&rand_code="RequestHeader="""GET /otn/queryTrainInfo/query?leftTicketDTO.train_no=6e000D402202&leftTicketDTO.train_date=2025-02-14&rand_code= HTTP/1.1Accept: */*
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Connection: keep-alive
Cookie: JSESSIONID=3C843B300AF2985CE9CDC31F5271E223; _jc_save_wfdc_flag=dc; _jc_save_fromStation=%u8087%u5E86%u4E1C%2CFCQ; _jc_save_toStation=%u6B66%u6C49%u4E1C%2CLFN; _jc_save_toDate=2025-01-19; BIGipServerotn=1977155850.24610.0000; BIGipServerpassport=887619850.50215.0000; guidesStatus=off; highContrastMode=defaltMode; cursorStatus=off; route=9036359bb8a8a461c164a04f8f50b252; _jc_save_fromDate=2025-02-14
Host: kyfw.12306.cn
Referer: https://kyfw.12306.cn/otn/queryTrainInfo/init
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 Edg/132.0.0.0
X-Requested-With: XMLHttpRequest
sec-ch-ua: "Not A(Brand";v="8", "Chromium";v="132", "Microsoft Edge";v="132"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows""""result = GetRequest(url,RequestHeader)#返回一个py字典dataList = result["data"]["data"]#依次选择key,就可以获得对应的值print(dataList[0])#尝试输出第一个值

http://www.lryc.cn/news/532231.html

相关文章:

  • 开源数据分析工具 RapidMiner
  • Vue canvas画图画线例子,数据回显与隔离,点拖拽修改
  • Python实现CAN FD 通信(基于PCAN开发CAN FD测试工具)
  • LeetCode--347. 前 K 个高频元素/Golang中的堆(container/heap)
  • 关于大数据
  • 9-收纳的知识
  • 堆的实现——堆的应用(堆排序)
  • 机器学习6-全连接神经网络2
  • 基于 SpringBoot 的电影购票系统
  • C++SLT(三)——list
  • C++ Primer 算术运算符
  • 数据结构-堆和PriorityQueue
  • 【玩转 Postman 接口测试与开发2_017】第13章:在 Postman 中实现契约测试(Contract Testing)与 API 接口验证(下)
  • R语言 | 使用 ComplexHeatmap 绘制热图,分区并给对角线分区加黑边框
  • React图标库: 使用React Icons实现定制化图标效果
  • Python sider-ai-api库 — 访问Claude、llama、ChatGPT、gemini、o1等大模型API
  • DeepSeek、哪吒和数据库:厚积薄发的力量
  • DDD - 微服务架构模型_领域驱动设计(DDD)分层架构 vs 整洁架构(洋葱架构) vs 六边形架构(端口-适配器架构)
  • 第 1 天:UE5 C++ 开发环境搭建,全流程指南
  • 【华为OD-E卷 - 109 磁盘容量排序 100分(python、java、c++、js、c)】
  • 【大数据技术】编写Python代码实现词频统计(python+hadoop+mapreduce+yarn)
  • 5-Scene层级关系
  • JVM执行流程与架构(对应不同版本JDK)
  • 本地部署 DeepSeek-R1:简单易上手,AI 随时可用!
  • 请求响应(接上篇)
  • 数组排序算法
  • 防火墙的安全策略
  • 2025Java面试题超详细整理《微服务篇》
  • 中位数定理:小试牛刀> _ <2025牛客寒假1
  • (2025,LLM,下一 token 预测,扩散微调,L2D,推理增强,可扩展计算)从大语言模型到扩散微调