手把手教会 爬虫爬取json数据

article/2025/3/20 3:57:07

提示:本章爬取练习的url地址 = 发现曲谱 (yoopu.me)


前言

我们学爬虫,有时候想要的数据并不在html文本里面,而是通过js动态渲染出来的。

如果我们需要爬取此类数据的话,我们该怎么办呢?

请读者接着往下看:


提示:以下是本篇文章正文内容,下面案例可供参考

一、首先第一步先确定数据是以什么形式加载出来的。

这个很简单首先先打开页面源代码,然后ctrl + f 搜索内容的关键字。如果搜索的到那就很简单!

直接请求获取页面源代码 解析数据就可以了。

 如果并发现数据并没有在html代码里面,那我们就 f12 打开 开发者工具 点击这里

 

然后 滑动页面让其继续加载数据 就会这样

 通过每次滑动发现 滑动一次就会接收到这些有规律的数据包

然后我们点击page=0 再点击  prevrew 会发现里面的数据正是页面加载的数据

 

现在再点击 headers 获取需要请求的 url

 

二、确定需要访问的url之后就开始准备写代码

1.这次请求需要引入的库

代码如下(示例)

import json
import requests
import random
import time

2.准备请求需要的数据

代码如下(示例):

本节使用较严格的反反爬措施,并使用面向对象编程所以需要的数据有点多。

# 创建一个对象
class Get_url(object):# 定义初始化属性def __init__(self, num):# 这条是需要我们访问的 url ,实现翻页功能在主程序入口, 到时候传参给num就能实现翻页功能self.url = f'https://yoopu.me/api/posts/new?page={num}'# 这是伪造头,待会会随机选取其中之一self.USER_AGENTS = ["Mozilla/5.0 (Windows; U; Windows NT 5.2) Gecko/2008070208 Firefox/3.0.1""Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50","Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1","Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1","Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; en) Presto/2.8.131 Version/11.11","Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11","Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)","Opera/9.80 (Windows NT 5.1; U; zh-cn) Presto/2.9.168 Version/11.50","Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0","Mozilla/5.0 (Windows NT 5.2) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.11 TaoBrowser/2.0 Safari/536.11","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.71 Safari/537.1 LBBROWSER","Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; LBBROWSER)","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SV1; QQDownload 732; .NET4.0C; .NET4.0E; 360SE)","Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.84 Safari/535.11 SE 2.X MetaSr 1.0","Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2)","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)","Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)","Mozilla/5.0 (Windows; U; Windows NT 5.2) Gecko/2008070208 Firefox/3.0.1","Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070309 Firefox/2.0.0.3","Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070803 Firefox/1.5.0.12 "]# 这是ip代理池,待会会随机选取其中之一self.IP_AGENTS = [{'HTTP': '60.170.204.30:8060'},{'HTTP': '111.3.118.247:30001'},{'HTTP': '220.168.52.245:53548'},{'HTTP': '202.116.32.236:80'},{'HTTP': '14.215.212.37:9168'},{'HTTP': '39.106.71.115:7890'},{'HTTP': '220.168.52.245:53548'},{'HTTP': '202.55.5.209:8090'},{'HTTP': '118.163.120.181:58837'},{'HTTP': '121.13.252.62:41564'},{'HTTP': '106.54.128.253:999'},{'HTTP': '202.55.5.209:8090'},{'HTTP': '210.5.10.87:53281'},{'HTTP': '202.55.5.209:8090'},{'HTTP': '112.6.117.135:8085'},{'HTTP': '61.150.96.27:36880'},{'HTTP': '106.15.197.250:8001'},{'HTTP': '202.109.157.65:9000'},{'HTTP': '112.74.17.146:8118'},{'HTTP': '183.236.123.242:8060'},{'HTTP': '220.168.52.245:53548'},{'HTTP': '103.37.141.69:80'},{'HTTP': '218.75.69.50:57903'},{'HTTP': '202.55.5.209:8090'},{'HTTP': '202.55.5.209:8090'},{'HTTP': '113.88.208.112:8118'},{'HTTP': '122.9.101.6:8888'},{'HTTP': '47.113.90.161:83'},{'HTTP': '106.15.197.250:8001'},{'HTTP': '61.216.156.222:60808'}, ]# 构建headers请求头 把ua伪造头通过random随机选取一个传进去self.headers = {'Accept': 'image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8','Accept-Encoding': 'gzip, deflate, br','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': 'BDUSS_BFESS=VhlWExJYUxHLUd-VDQ3VHl4WktUb2dYSXZmWEdId3ViSG41Z2tHT3FhcnBpVlppRVFBQUFBJCQAAAAAAAAAAAEAAACFlYZcyqfIpb7N1tjNt9TZwLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOn8LmLp~C5iY; BAIDUID_BFESS=42114CA345FFDDD003FDB91BC19F4B5D:FG=1; HMACCOUNT_BFESS=76DA5CF409547AE8','Host': 'hm.baidu.com','Referer': 'https://yoopu.me/','Sec-Fetch-Dest': 'image','Sec-Fetch-Mode': 'no-cors','Sec-Fetch-Site': 'cross-site','User-Agent': random.choice(self.USER_AGENTS),'sec-ch-ua': '" Not A;Brand";v="99", "Chromium";v="101", "Microsoft Edge";v="101"','sec-ch-ua-mobile': '?0','sec-ch-ua-platform': '"Windows"'}# 构建ip, 也通过随机模块传入self.proxies = random.choice(self.IP_AGENTS)

3.访问url并返回 json数据

    # 获取网页的json数据方法def get_url(self):# 让程序延迟 0.5 到 1.5秒之间的时间随机访问time.sleep(random.uniform(0.5, 1.5))# 用get请求发送, 传入url,请求头, ip代理 然后用json数据保存response = requests.get(self.url, headers=self.headers, proxies=self.proxies).json()# 退出函数返回 responsereturn response

4.处理json数据并解析数据

    # 提取json 关键数据方法def url_date(self):# 用res变量接收 get_url返回的数据res = self.get_url()# 然后解析 我们请求下来的数据,发现我们获取的数据是一个列表,# 然后里面数据是字典形式存在 , 这样的话我们就可以通过遍历列表然后通过 key查找获取到值了for i in res:# 因为发现有一些数据 里面不包含我们所需要的信息, 然后找不到就会异常# 所以我们就用异常处理, 如果异常就执行 except的代码try:singer = i['artist']print(singer)except Exception as a:print('抱歉,没有获取到乐队信息!')try:singer = i['title']print(singer)except Exception as a:print('抱歉没有获取到歌名!')try:singer = 'https://yoopu.me/view/' + i['id']print(singer)except Exception as a:print('抱歉没有获取到歌名网址!')try:singer = i['key']print(singer + '调')except Exception as a:print('抱歉没有获取到歌曲音调!')print('\n')

5.创建方法运行上面的代码

    # 创建一个方法来运行上面的代码def run(self):self.url_date()

6.创建主程序入口并实现翻页功能

# 创建主程序入口
if __name__ == '__main__':# 实现翻页功能 循环0-50 然后传参进Get_url对象然后实现翻页功能for i in range(0, 50):run_1 = Get_url(i)run_1.run()# 实现爬取第几页print(f'已经爬取第{i + 1}页')print('爬取完毕!')

总结

上面已经实现了 数据爬取, 数据保存就不实现了,给读者操作一下。

以下是全部代码:

代码基本全部注释

import json
import requests
import random
import time# 创建一个对象
class Get_url(object):# 定义初始化属性def __init__(self, num):# 这条是需要我们访问的 url ,实现翻页功能在主程序入口, 到时候传参给num就能实现翻页功能self.url = f'https://yoopu.me/api/posts/new?page={num}'# 这是伪造头,待会会随机选取其中之一self.USER_AGENTS = ["Mozilla/5.0 (Windows; U; Windows NT 5.2) Gecko/2008070208 Firefox/3.0.1""Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50","Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1","Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1","Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; en) Presto/2.8.131 Version/11.11","Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11","Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)","Opera/9.80 (Windows NT 5.1; U; zh-cn) Presto/2.9.168 Version/11.50","Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0","Mozilla/5.0 (Windows NT 5.2) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.11 TaoBrowser/2.0 Safari/536.11","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.71 Safari/537.1 LBBROWSER","Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; LBBROWSER)","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SV1; QQDownload 732; .NET4.0C; .NET4.0E; 360SE)","Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.84 Safari/535.11 SE 2.X MetaSr 1.0","Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2)","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)","Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)","Mozilla/5.0 (Windows; U; Windows NT 5.2) Gecko/2008070208 Firefox/3.0.1","Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070309 Firefox/2.0.0.3","Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070803 Firefox/1.5.0.12 "]# 这是ip代理池,待会会随机选取其中之一self.IP_AGENTS = [{'HTTP': '60.170.204.30:8060'},{'HTTP': '111.3.118.247:30001'},{'HTTP': '220.168.52.245:53548'},{'HTTP': '202.116.32.236:80'},{'HTTP': '14.215.212.37:9168'},{'HTTP': '39.106.71.115:7890'},{'HTTP': '220.168.52.245:53548'},{'HTTP': '202.55.5.209:8090'},{'HTTP': '118.163.120.181:58837'},{'HTTP': '121.13.252.62:41564'},{'HTTP': '106.54.128.253:999'},{'HTTP': '202.55.5.209:8090'},{'HTTP': '210.5.10.87:53281'},{'HTTP': '202.55.5.209:8090'},{'HTTP': '112.6.117.135:8085'},{'HTTP': '61.150.96.27:36880'},{'HTTP': '106.15.197.250:8001'},{'HTTP': '202.109.157.65:9000'},{'HTTP': '112.74.17.146:8118'},{'HTTP': '183.236.123.242:8060'},{'HTTP': '220.168.52.245:53548'},{'HTTP': '103.37.141.69:80'},{'HTTP': '218.75.69.50:57903'},{'HTTP': '202.55.5.209:8090'},{'HTTP': '202.55.5.209:8090'},{'HTTP': '113.88.208.112:8118'},{'HTTP': '122.9.101.6:8888'},{'HTTP': '47.113.90.161:83'},{'HTTP': '106.15.197.250:8001'},{'HTTP': '61.216.156.222:60808'}, ]# 构建headers请求头 把ua伪造头通过random随机选取一个传进去self.headers = {'Accept': 'image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8','Accept-Encoding': 'gzip, deflate, br','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': 'BDUSS_BFESS=VhlWExJYUxHLUd-VDQ3VHl4WktUb2dYSXZmWEdId3ViSG41Z2tHT3FhcnBpVlppRVFBQUFBJCQAAAAAAAAAAAEAAACFlYZcyqfIpb7N1tjNt9TZwLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOn8LmLp~C5iY; BAIDUID_BFESS=42114CA345FFDDD003FDB91BC19F4B5D:FG=1; HMACCOUNT_BFESS=76DA5CF409547AE8','Host': 'hm.baidu.com','Referer': 'https://yoopu.me/','Sec-Fetch-Dest': 'image','Sec-Fetch-Mode': 'no-cors','Sec-Fetch-Site': 'cross-site','User-Agent': random.choice(self.USER_AGENTS),'sec-ch-ua': '" Not A;Brand";v="99", "Chromium";v="101", "Microsoft Edge";v="101"','sec-ch-ua-mobile': '?0','sec-ch-ua-platform': '"Windows"'}# 构建ip, 也通过随机模块传入self.proxies = random.choice(self.IP_AGENTS)# 获取网页的json数据方法def get_url(self):# 让程序延迟 0.5 到 1.5秒之间的时间随机访问time.sleep(random.uniform(0.5, 1.5))# 用get请求发送, 传入url,请求头, ip代理 然后用json数据保存response = requests.get(self.url, headers=self.headers, proxies=self.proxies).json()# 退出函数返回 responsereturn response# 提取json 关键数据方法def url_date(self):# 用res变量接收 get_url返回的数据res = self.get_url()# 然后解析 我们请求下来的数据,发现我们获取的数据是一个列表,# 然后里面数据是字典形式存在 , 这样的话我们就可以通过遍历列表然后通过 key查找获取到值了for i in res:# 因为发现有一些数据 里面不包含我们所需要的信息, 然后找不到就会异常# 所以我们就用异常处理, 如果异常就执行 except的代码try:singer = i['artist']print(singer)except Exception as a:print('抱歉,没有获取到乐队信息!')try:singer = i['title']print(singer)except Exception as a:print('抱歉没有获取到歌名!')try:singer = 'https://yoopu.me/view/' + i['id']print(singer)except Exception as a:print('抱歉没有获取到歌名网址!')try:singer = i['key']print(singer + '调')except Exception as a:print('抱歉没有获取到歌曲音调!')print('\n')# 创建一个方法来运行上面的代码def run(self):self.url_date()# 创建主程序入口
if __name__ == '__main__':# 实现翻页功能 循环0-50 然后传参进Get_url对象然后实现翻页功能for i in range(0, 50):run_1 = Get_url(i)run_1.run()# 实现爬取第几页print(f'已经爬取第{i + 1}页')print('爬取完毕!')


http://chatgpt.dhexx.cn/article/rRTokDFi.shtml

相关文章

六个步骤学会使用Python爬虫爬取数据(爬虫爬取微博实战)

用python的爬虫爬取数据真的很简单,只要掌握这六步就好,也不复杂。以前还以为爬虫很难,结果一上手,从初学到把东西爬下来,一个小时都不到就解决了。 Python爬虫六部曲 第一步:安装requests库和BeautifulS…

网络爬虫入门:网络爬虫的目的,企业获取数据的方式,可以用于做爬虫的程序语言,爬虫爬取数据的步骤

目录 爬取数据的目的: 1.获取大量数据,用于做数据分析 2.公司项目的测试数据,公司业务所需数据 企业获取数据的方式 1.公司自有数据 2.第三方数据平台购买(数据堂,贵阳大数据交易所) 3.爬虫爬取数据…

利用爬虫爬取数据集

相信大家在学习tensorflow的过程中,会想要自己动手来试试加载我们的数据集,而不再局限于从datasets上下载数据集。但是往往一个模型的训练就需要很庞大的数据集,因此写下这篇博客教大家如何用爬虫爬取图片,制作自己的数据集&#…

微信小程序实名认证接口_人脸核身接口整理

一、微信小程序实名认证接口_人脸核身接口整理 开场一个字: 悲观。目前实名接口,人脸识别接口开放度不高。“实名信息授权”已经回收。 二、人脸核身接口 1.使用条件 需要现申请通过才能使用。 目前开放的分类不多,并且还需要行业资质。 …

微信小程序—人脸识别

1.首先你要有一个可以就行人脸识别的服务器&#xff0c;然后就是上传到百度云&#xff0c;百度云人脸识别的API接口全面升级到V3版本&#xff0c;并进行开放测试 2.wxml代码 <camera device-position"{{sxt}}" flash"off" binderror"error" s…

微信小程序实现人脸识别注册登录

前言 这是一篇关于一个原创微信小程序开发过程的原创文章。涉及到的核心技术是微信小程序开发方法和百度云人脸识别接口。小程序的主体是一个用于个人密码存储的密码管理器&#xff0c;在登陆注册阶段&#xff0c;需要调用百度云人脸识别接口以及百度云在线人脸库的管理接口。…

C# Winform开发人脸识别小程序 (基于百度接口)

目录 一、设计思路1、背景2、简介3、用到的技术4、设计功能一&#xff1a;用户注册功能概述功能示意图时序图 功能二&#xff1a;人脸识别功能概述功能示意图时序图 二、实现1、环境准备2、百度接口配置3、技术准备4、代码实现功能一&#xff1a;用户注册功能二&#xff1a;人脸…

python人脸检测与微信小程序_微信小程序人脸识别功能

本文档以微信小程序为例&#xff0c;微信小程序开发人脸核身功能需要两个申请&#xff1a;腾讯云申请人脸识别服务和小程序申请人脸识别服务&#xff08;注意&#xff1a;只有符合以下条件的机构才能在小程序端申请&#xff09; 政务&#xff1a;政府机构或事业单位 金融&…

使用uniapp开发微信小程序的人脸采集功能/人脸识别功能

✅作者简介&#xff1a;大家好我是瓜子三百克&#xff0c;励志成为全栈工程师的一枚程序猿&#xff0c;也是喜欢在学习和开发中记录笔记的小白博主&#xff01; &#x1f4c3;个人主页&#xff1a;瓜子三百克的主页 &#x1f525;系列专栏&#xff1a;uniapp前端 &#x1f496;…

无需证书微信小程序实现人脸识别—E证通

E证通 前言收费标准接入准备小程序1、 添加服务器域名白名单2、添加业务域名白名单3、安装 SDK/小程序包4、SDK 调用步骤即实操代码4.1、初始化 SDK4.2、 调用 SDK 5、拿到回调结果6、使用uni-app开发6.1、小程序运行后&#xff0c;在小程序中丢入sdk包6.2、把sdk包转换成uni-a…

小程序实现人脸识别与小程序发布

文章目录 前言主要实现功能效果演示PC端手机端 调用百度Ai人脸检测接口小程序发布流程项目源码编程之外 前言 人脸识别其实没那么复杂&#xff0c;我国几个大厂都有他们的AI开放平台&#xff0c;调用一下他们的人脸检测接口就行了&#x1f601;&#xff08;虽然接口不是自己写的…

节假日查询接口,加班,补班,日期查询,放假,日历

一、接口介绍 通过本数据&#xff0c;可以查询节假日、加班日期&#xff0c;以及每个日期的对应的国际日和我国传统节日的简介。广泛使用于日程安排、证券投资、日历等功能的应用中展示。 二、使用案例截图 如何查看调用效果&#xff1f; 1、通过链接&#xff0c;点击【在线…

php中阿里云快递物流查询接口使用

php中阿里云快递物流查询接口使用 官方给的php代码如下&#xff1a; $host "https://ali-deliver.showapi.com";$path "/showapi_expInfo";$method "GET";$appcode "你自己的AppCode";$headers array();array_push($headers, &qu…

智能疾病查询接口

疾病类目&#xff0c;疾病症状&#xff0c;智能疾病查询&#xff0c;医疗知识图谱 ​ 一、接口介绍 最全的疾病大全&#xff0c;收集了数万种常见疾病&#xff0c;任何常见疾病都可查询。 二、功能体验 三、演示效果 四、API文档 4.1 查询疾病科目 4.1.1接入点说明 查询…

调用阿里API获取城市天气信息

目录 一&#xff0e;阿里云天气预报API接口介绍2.1阿里云天气预报API介绍2.2 调用API准备工作及认识 二&#xff0e;调用天气预报API三&#xff0e;代码实现四&#xff0e;结果展示五、问题与解决办法 赵继涛&#xff0c;男&#xff0c;西安工程大学电子信息学院&#xff0c;20…

如何调用showapiRequest解决图片验证码识别?

一、思路&#xff08;我埋了一个坑&#xff09; &#xff08;1&#xff09;保存整张登录页面的图片 &#xff08;2&#xff09;剪切验证码区域的图片 &#xff08;3&#xff09;调用showapiRequest识别剪切好的图片 二、保存整张图片 保存当前页面的整张图片括号里面是保存图…

天气预报

到目前为止,我们的公众号已经可以回复用户发出的消息,但是如果仅仅如此,就没必要设为开发模式了。完全不懂编程的人也可以在微信公众平台上设置回复用户的消息。 现在我们来实现我们的公众号查询全国各个城市天气这么一个功能,像公众号输入天气+地名(天气南京)就可以查询…

天气预报查询数据接口、实时天气、未来24小时、7天/15天预报

小编在此向大家介绍拥有105亿调用量的产品&#xff0c;该接口文档清晰&#xff0c;对接方便&#xff0c;服务超好。 一、接口介绍 通过坐标区域、IP、地名、景点名称、电话区号或邮编等有效信息可查询天气情况&#xff08;天气状况、湿度、天气图标、实时温度、风向、风级、紫…

php如何调用天气预报api,PHP调用API接口实现天气查询功能的示例

php 的 PHP调用API接口实现天气查询功能的示例 天气预报查询接口API&#xff0c;在这里我使用的是国家气象局天气预报接口 使用较多的还有&#xff1a;新浪天气预报接口、百度天气预报接口、google天气接口、Yahoo天气接口等等。 1、查询方式 根据地名查询各城市天气情况 2.请求…

微信公众号开发_调用新闻查询接口_回复图文消息

文章目录 一、新闻API接口返回的Json示例实体类测试类测试 二、发送图文消息xml数据格式实体类创建自定义菜单处理点击事件查询新闻工具类 仓库代码地址关注微信公众号 发送效果&#xff1a; 一、新闻API接口 使用的是阿里云市场的服务 全国热门带正文新闻查询API接口 使用方式…