家居类企业响应式网站,河南网站建设企业,网站网站做代理赚钱吗,网页制作工具软件下载目录 一、需求二、页面分析三、代码实现 一、需求 目标网站#xff1a;http://www.weather.com.cn/weather/101010700.shtml 需求#xff1a;获取日期#xff0c;天气#xff0c;温度#xff0c;风力数据 二、页面分析 1、确定 url#xff0c;静态加载 url#xff1a;ht… 目录 一、需求二、页面分析三、代码实现 一、需求 目标网站http://www.weather.com.cn/weather/101010700.shtml 需求获取日期天气温度风力数据 二、页面分析 1、确定 url静态加载 urlhttp://www.weather.com.cn/weather/101010700.shtml 2、解析数据 先获取 ul 标签的内容 .*(.*?).* 相当于是想要的内容 .* 表示尽可能匹配多的字符 .*? 表示尽可能匹配少的字符 获取每一组 li 标签findall查找所有返回的数据类型是 list 3、匹配详情数据 li.*?
h1(.*?)/h1
.*?
p.*?(.*?)/p
.*?
i(.*?)/i
.*?
i(.*?)/i
.*三、代码实现
# 导入模块
import requests
import re # 内置库# 确定 url
url http://www.weather.com.cn/weather/101010700.shtml# 发请求获取响应
res requests.get(url)# 出现乱码进行编码
res.encoding utf-8# 打印响应内容
# print(res.text)# 做数据解析
# re.match 从头开始找最开始就没有匹配返回 None
# .匹配任意一个字符但是 \n 符号不匹配
# re.S 帮助.匹配到换行符
result re.match(.*(ul classt clearfix.*?/ul).*, res.text, re.S)# 获取 ul 标签里面的内容一个括号分一个组如果取第一个括号里面的内容1
ul result.group(1)# 贪婪模式与非贪婪模式
# .* 尽可能匹配多的字符
# .*? 尽可能匹配少的字符
lis re.findall(li.*?.*?/li, ul, re.S)# 遍历每一个 li 标签拿到每一组数据 compile() 模板
pattern re.compile(li.*?h1(.*?)/h1.*?p.*?(.*?)/p.*?i(.*?)/i.*?i(.*?)/i.*, re.S)
for li in lis:# print(li)r pattern.match(li)print(r.group(1), r.group(2), r.group(3), r.group(4))# break记录学习过程欢迎讨论交流尊重原创转载请注明出处~