0
点赞
收藏
分享

微信扫一扫

【python】OpenCV—European Article Number

阿尚青子自由写作人 2024-07-24 阅读 26

 

使用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()

 

 

 

 

 

举报

相关推荐

0 条评论