使用简单爬虫获得一些信息数据

文章目录

前言

一、准备工作,寻找目标网站

二、确定需要的数据

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”相关推荐

  1. 用FastAPI加爬虫制作一个涩图API,521就这样自己过。

    最近家里有台旧笔记本,我闲的没事干将电脑制作成了一个服务器.虽然没有公网IP但是我们有强大的内网穿透!加上FastAPI这个pythob的web框架制作一个中小型没有问题! 这不今天是520嘛,还能干 ...

  2. 因为难看的签名尴尬?Python爬虫制作艺术签名软件!

    前言 不管你是在校大学生,已经踏入社会的白领阶层,还是在商界赫赫有名的老总,总会时不时的会要求签名,您还在为你那难看的签名而尴尬吗?从现在起不必了,因为有了这篇文章,在这里有艺术家亲笔为您专门设计的艺 ...

  3. 基于tkinter界面requests爬虫实现的学生事务管理平台自动填写系统

    简 介:此系统针对全球某工商每学期都要学生填写的学生互评,于可视化界面进行一键填写操作. 关键词:python, tikinter,gui,requests,爬虫,桌面程序 文章目录 前言 一.实际效 ...

  4. flask制作电影天堂的API接口

    flask制作电影天堂的API接口 from flask import Flask, request import json from lxml import etree import request ...

  5. Python用Requests爬虫实现截屏翻译

    爬虫之所以火 因为懒他可以代替我们做很多的事情 例如你有一个文件夹的图片需要翻译,一个一个的拖进搜狗图片翻译,再转回来将图片另存,再改名字,再拖下一个,再......太庸俗了!简直戕贼身心.对于这种情 ...

  6. Python爬虫:制作一个属于自己的IP代理模块

    Python爬虫:制作一个属于自己的IP代理模块 Python爬虫常常会面临自己ip地址被封的情况,也许不懂的读者就只能等ip解封之后再进行接下来的操作了,为什么自己不做一个Python模块专门用于处 ...

  7. Python爬虫:制作一个属于自己的IP代理模块2

    Python爬虫:制作一个属于自己的IP代理模块2 小编前些日子写了一篇关于IP代理模块的博客(Python爬虫:制作一个属于自己的IP代理模块 ),但是那个还需要改进,今天小编改进了一下那个模块,爬 ...

  8. 使用天气预报api接口

    使用天气预报api接口 import requests import jsoncity = input("城市:") url = 'http://v.juhe.cn/weather ...

  9. 天气预报API接口城市代码(XML格式,信息大全)

    天气预报API城市代号.xml <?xml version="1.0" encoding="UTF-8"?><China><pro ...

最新文章

  1. 十进制字符串转十六进制字符串
  2. 免费正则表达式辅助工具(转)
  3. spring常用的三种依赖注入方式
  4. Accurate circular consensus long-read sequencing improves variant detection and assembly of a human
  5. synchronized与Lock的区别与使用
  6. HOG特征向量的代码
  7. 使用s3sec批量化自动扫描S3存储桶泄露数据
  8. java 正则表达式的使用
  9. LeetCode 37 解数独
  10. jdk1.8下载与安装教程
  11. java 路径规划_应用内路径规划的简单实现
  12. 修改TIM文件存储路径
  13. 全国计算机等级考试三级Linux应用与开发技术考试-习题汇总
  14. 干货 | 4步带你完成私有云盘搭建
  15. 扫描枪识别条码为乱码
  16. 淘宝店铺动销率对店铺有什么影响,怎样提高店铺动销率
  17. 世界著名设计公司-网址介绍
  18. 程序员的自我进化:学习之道,如何更有效的学习
  19. 织梦网站 mysql,织梦(DEDECMS)网站程序及数据库迁移搬家教程
  20. C10X:C10K、C10M

热门文章

  1. Word文档方框中输入“√”、“×”的简单方法,绝对让你相见恨晚!
  2. 架构之占位式插件化框架 --组件通信
  3. TPC-H系列---2---TPC-H表结构及表之间的关系
  4. 【佛系养身】男程序员护肤入门
  5. AirSim在Windows下环境搭建
  6. 人工智能全栈学习路线之人工智能概览(百度云智学院学习笔记)
  7. Java Vs. C♯
  8. Redis框架(三):大众点评项目 基于Session的短信登录
  9. vue前端video视频截图与录影功能的简单实现
  10. 计算机一级考试选网络题广东,广东计算机一级考试试题及答案