使用requests爬虫制作自己的天气预报“Api”
使用简单爬虫获得一些信息数据
文章目录
前言
一、准备工作,寻找目标网站
二、确定需要的数据
1.获得自己的网站cookie
2.代码实现
3.效果实现
前言
在自己开发一些网站或者公众号时,为了让自己的功能更全面化,往往会去一些外部网站调用一些功能性的Api。这些外部网站的Api,往往收费或者限制次数,这就让人很苦恼,我就想自己学了爬虫,为啥自己不做一个类似Api一样的函数,获得数据信息。本文章举例爬取天气信息供使用。
源码已经上传我的gitee库可自行下载使用。
一、准备工作,寻找目标网站
上网搜索寻找可以简单爬取的网站,在你找到目标网站后,进入开发者工具-网络选项。刷新页面,找到文档选项,这就是网页的我们能爬取到的内容,点击查看里面是否有我们需要的数据,如果有,则这个文档类文件就是我们能爬取得到的网站资源。没有,就换。如下图,所示,这样的网站我们就可以使用简单的爬虫爬取。
二、确定需要的数据
确定了这个网站能爬取,点开网站看,查看里面你需要的数据,示例如下:
比如数据图一都是我们需要的数据,点开刚刚在网络文档找到的网站源码,查看里面源代码是否有这些数据。如下: 三、 代码实现
1.获得自己的网站cookie
还是在开发者网络-文档网页文件里面,点击标头,里面的请求标头里面有,示例如下:
2.代码实现
import sysimport requests
import reimport pandas as pdif __name__ == '__main__':headers = {'user-agent': '','Cookie': ''}name_place = input('请输入所在地名:')try:data = pd.read_excel('cityinfo.xls', index_col='城市名称')code = data.loc[name_place]['对应代码']except:print('输入错误!!')sys.exit()url = 'https://weather.cma.cn/web/weather/{}.html'.format(code)res = requests.get(url=url, headers=headers)# 避免爬取网页编码格式不和请求文本导致乱码res.encoding = res.apparent_encoding# print(res.text)seven_dayList = re.findall('<div class="day-item">\n (.*?)\n </div>', res.text, re.S)print(seven_dayList)tem_high = re.findall('<div class="high">\n (.*?)\n </div>', res.text, re.S)print(tem_high)tem_low = re.findall('<div class="low">\n (.*?)\n </div>', res.text, re.S)print(tem_low)total_list = re.findall('<td style="background-color:#eee;">(.*?)</tr>', res.text, re.S)# print(total_list)# print(len(total_list))final_totalList = total_list.copy()temp = 0for i in range(0, len(total_list)):if '天气' in total_list[i]:del final_totalList[i - temp]temp = temp + 1print(final_totalList)list_info = []for m in range(0, len(final_totalList)):list_info.append(re.findall('<td>(.*?)</td>', final_totalList[m]))print(list_info)
全部文件数据在我的gitee库可自行下载使用
3.效果实现
觉得有用的话,就点个赞吧!!!
使用requests爬虫制作自己的天气预报“Api”相关推荐
- 用FastAPI加爬虫制作一个涩图API,521就这样自己过。
最近家里有台旧笔记本,我闲的没事干将电脑制作成了一个服务器.虽然没有公网IP但是我们有强大的内网穿透!加上FastAPI这个pythob的web框架制作一个中小型没有问题! 这不今天是520嘛,还能干 ...
- 因为难看的签名尴尬?Python爬虫制作艺术签名软件!
前言 不管你是在校大学生,已经踏入社会的白领阶层,还是在商界赫赫有名的老总,总会时不时的会要求签名,您还在为你那难看的签名而尴尬吗?从现在起不必了,因为有了这篇文章,在这里有艺术家亲笔为您专门设计的艺 ...
- 基于tkinter界面requests爬虫实现的学生事务管理平台自动填写系统
简 介:此系统针对全球某工商每学期都要学生填写的学生互评,于可视化界面进行一键填写操作. 关键词:python, tikinter,gui,requests,爬虫,桌面程序 文章目录 前言 一.实际效 ...
- flask制作电影天堂的API接口
flask制作电影天堂的API接口 from flask import Flask, request import json from lxml import etree import request ...
- Python用Requests爬虫实现截屏翻译
爬虫之所以火 因为懒他可以代替我们做很多的事情 例如你有一个文件夹的图片需要翻译,一个一个的拖进搜狗图片翻译,再转回来将图片另存,再改名字,再拖下一个,再......太庸俗了!简直戕贼身心.对于这种情 ...
- Python爬虫:制作一个属于自己的IP代理模块
Python爬虫:制作一个属于自己的IP代理模块 Python爬虫常常会面临自己ip地址被封的情况,也许不懂的读者就只能等ip解封之后再进行接下来的操作了,为什么自己不做一个Python模块专门用于处 ...
- Python爬虫:制作一个属于自己的IP代理模块2
Python爬虫:制作一个属于自己的IP代理模块2 小编前些日子写了一篇关于IP代理模块的博客(Python爬虫:制作一个属于自己的IP代理模块 ),但是那个还需要改进,今天小编改进了一下那个模块,爬 ...
- 使用天气预报api接口
使用天气预报api接口 import requests import jsoncity = input("城市:") url = 'http://v.juhe.cn/weather ...
- 天气预报API接口城市代码(XML格式,信息大全)
天气预报API城市代号.xml <?xml version="1.0" encoding="UTF-8"?><China><pro ...
最新文章
- 十进制字符串转十六进制字符串
- 免费正则表达式辅助工具(转)
- spring常用的三种依赖注入方式
- Accurate circular consensus long-read sequencing improves variant detection and assembly of a human
- synchronized与Lock的区别与使用
- HOG特征向量的代码
- 使用s3sec批量化自动扫描S3存储桶泄露数据
- java 正则表达式的使用
- LeetCode 37 解数独
- jdk1.8下载与安装教程
- java 路径规划_应用内路径规划的简单实现
- 修改TIM文件存储路径
- 全国计算机等级考试三级Linux应用与开发技术考试-习题汇总
- 干货 | 4步带你完成私有云盘搭建
- 扫描枪识别条码为乱码
- 淘宝店铺动销率对店铺有什么影响,怎样提高店铺动销率
- 世界著名设计公司-网址介绍
- 程序员的自我进化:学习之道,如何更有效的学习
- 织梦网站 mysql,织梦(DEDECMS)网站程序及数据库迁移搬家教程
- C10X:C10K、C10M
热门文章
- Word文档方框中输入“√”、“×”的简单方法,绝对让你相见恨晚!
- 架构之占位式插件化框架 --组件通信
- TPC-H系列---2---TPC-H表结构及表之间的关系
- 【佛系养身】男程序员护肤入门
- AirSim在Windows下环境搭建
- 人工智能全栈学习路线之人工智能概览(百度云智学院学习笔记)
- Java Vs. C♯
- Redis框架(三):大众点评项目 基于Session的短信登录
- vue前端video视频截图与录影功能的简单实现
- 计算机一级考试选网络题广东,广东计算机一级考试试题及答案