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

Python爬虫速成之路(2):爬天气情况

 hello hello~ ,这里是绝命Coding——老白~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹
19d95742d45b4220ad0ae0359ffcba93.png

💥个人主页:绝命Coding-CSDN博客
💥 所属专栏:后端技术分享
这里将会不定期更新有关后端、前端的内容,希望大家多多点赞关注收藏💖

 历史文章:

Python爬虫速成之路(1):获取网页源代码-CSDN博客

 

使用requests.get()方法发送HTTP请求,并通过content属性获取网页的源代码

正则表达式(.*?):它可以匹配任意长度的字符串,比如abcde,正则表达式a(.*?)e,它就会匹配上bcd。(基本后续的爬虫这一个正则表达式就已经够用了,万能)

import urllib.request as http
import re#【天气预报】天气预报7天,10天,15天_全国天气网
url = 'http://tianqi.so.com/weather/101281901'
#获取网页源代码
content = http.urlopen(url).read().decode("utf-8")
#.*? 后面多个问号,代表非贪婪模式,也就是说只匹配符合条件的最少字符
pattern = re.findall(r'<div class="temperature">(.*?)</div>',content)
#<div class="temperature">13</div>
print('今天的温度是:{}°'.format(pattern[0]))

优化:

import requests  
import re  
content = requests.get("http://tianqi.so.com/weather/101281901").content.decode()  #获取网页源代码
pattern = re.findall(r'<div class="temperature">(.*?)</div>',content)  
print("今天的温度是:{}°".format(pattern[0]))

这里re.findall里面要求传入的是str类型
从str到bytes:调用方法encode().
从bytes到str:调用方法decode()

 

 更多精彩内容请关注:绝命Coding

914cbb12b2c3492aaa31232a11aa9c64.png

 

 

 

 

相关文章:

  • 机器学习——决策树(笔记)
  • 13--memcache与redis
  • 配置Redis时yml的格式导致报错
  • PostgreSQL 中如何处理数据的并发读写和锁等待超时?
  • dxf数据结构
  • linux的学习(四):磁盘,进程,定时,软件包的相关命令
  • SpringBoot防止重复提交 AOP+自定义注解+redis
  • dagger2实现原理
  • 网络安全威胁情报到底是什么
  • 存储实验:Linux挂载iscsi硬盘与华为OceanStor创建LUN全流程
  • SwiftUI 截图(snapshot)视频画面的极简方法
  • JavaScript 生成随机颜色
  • 《基于 LatentFactor + Redis + ES 实现动态药房分配方法》
  • HI3559AV100四路IMX334非融合拼接8K视频记录
  • Android中RecyclerView使用详解(一)
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • 2017-08-04 前端日报
  • happypack两次报错的问题
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • select2 取值 遍历 设置默认值
  • SpiderData 2019年2月13日 DApp数据排行榜
  • Swoft 源码剖析 - 代码自动更新机制
  • vue 个人积累(使用工具,组件)
  • 百度小程序遇到的问题
  • 每天10道Java面试题,跟我走,offer有!
  • 那些被忽略的 JavaScript 数组方法细节
  • 微服务入门【系列视频课程】
  • 我看到的前端
  • 小试R空间处理新库sf
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 因为阿里,他们成了“杭漂”
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (2020)Java后端开发----(面试题和笔试题)
  • (2022 CVPR) Unbiased Teacher v2
  • (4) PIVOT 和 UPIVOT 的使用
  • (编译到47%失败)to be deleted
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (佳作)两轮平衡小车(原理图、PCB、程序源码、BOM等)
  • (每日一问)计算机网络:浏览器输入一个地址到跳出网页这个过程中发生了哪些事情?(废话少说版)
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (转)shell调试方法
  • .aanva
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .net framework 4.8 开发windows系统服务
  • .Net OpenCVSharp生成灰度图和二值图
  • .net 调用php,php 调用.net com组件 --
  • .NET 漏洞分析 | 某ERP系统存在SQL注入
  • .Net 应用中使用dot trace进行性能诊断
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .Net8 Blazor 尝鲜
  • .Net的DataSet直接与SQL2005交互