一个python正则表达式匹配问题 3C

def getHtml(url):
page = urllib.urlopen(url)
html = page.read()
return html

def getDest(html):
//some code
return

html = getHtml("http://www.weather.com.cn/weather/101280101.shtml")
print getDest(html)

我想通过上面的代码抓取html里的以下数据,并输出到控制台,主要是天气和温度

图片说明

因为之前没学过python,函数getDest()查了资料半天都没有写出来,求各位给个可用的代码

3个回答

你可以先用字符串查找来找到你关心的数据, 正则只是另一种语法。

给你个亲测可用的

import urllib
import re

def getHtml(url):
    page = urllib.urlopen(url)
    html = page.read()
    return html

def getDest(html):
    return re.findall(r'<h1>(?P<date_str>[^<]*)</h1>.*?<p title="[^"]*" class="wea">(?P<weather>[^<]*)</p>.*?<i>(?P<temperature>\d+[^<]+)</i>', html, re.S)

for each in getDest(getHtml("http://www.weather.com.cn/weather/101280101.shtml")):
    print each[0], each[1], each[2]

题主也可以尝试xpath

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
python正则表达式匹配问题
用python写了个提取网页的小程序,代码如下:rn[code=python]# encoding:UTF-8rnimport sysrnimport rernfrom urllib2 import Request, urlopen, URLError, HTTPErrorrnrndef get_packet(url):rn packet = urlopen(url)rn content = packet.read()rn return contentrndef get_data(packet):rn xiangmu = '~'rn tmp = re.search(r'
python的正则表达式匹配问题
import rerntext=' 2009年国家司法考试试卷一--中华人民共和国司法部网站'rntest=re.compile(r' (\d\d\d\d年国家司法考试试卷[一二三四五])(.*)')rnprt=test.search(text)rnif prt:rn print prt.group(1)rnelse:rn print 'not search'rnrn新手刚开始学正则表达式,来问点白痴问题。rn我想输出 “2009年国家司法考试试卷一” 为什么这段代码输出结果是空白的,啥都没输出rn求解![img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/49.gif][/img]
请教一个正则表达式匹配问题
http://topic.csdn.net/u/20100723/11/44cf0267-cae0-4752-9e80-d5f955741274.htmlrnrn这里的朋友,回复了,但是为什么放在php里没有效果呢,有工具可以匹配。rnrn我的php代码:rnrn$text=str_replace("]+/>)[^>]*>","",$text);rn$text=str_replace("]+/>)[^>]*>","",$text);rnrnphp的正则与.net的是一样的吗?
一个正则表达式匹配问题
已知一个字符串,形如"\n name"或者"name"rn即字符串中可能有一个回车,然后接若干个空格(空格数未知),有回车必定会有至少一个空格.若没有回车则必定没有空格.rn现在要提取出"name",如何实现呢?谢谢rn
请教一个正则表达式匹配问题。
不匹配它rn 匹配它rnrn想处理一下网页中,找出img标签,没有反斜杠的img标签,进行替换
一个正则表达式的匹配问题
最近在做微信公众平台需要抓取页面数据,在网上找到了一个例子,它是在字符串[code=csharp]"contacts":["id":XXXXX,"nick_name":"灏忔伜","remark_name":"","group_id":0][/code]rn中写了这样一个正则,[code=csharp]\"id\":\\d+,\"nick_name\"[/code]rn匹配到了 [code=csharp]"id":XXXX,"nick_name"[/code]rn但是本人正则比较水,想要改写为匹配成 "id":XXXXX,"nick_name":"灏忔伜",请问该怎么做?
【python】求助 关于正则表达式匹配问题
[code=python]import re rnptn = re.compile('.*? ')rns = """rnrnrn rnrn"""rnfind = ptn.search(s,re.DOTALL)rn#ss = find.group(1)rnpass[/code]rnrn我是想要匹配出testing string!但是最后find是None,求解!
正则表达式匹配问题!
在一个文件中有这样的字符串rnrnPRIMARY INDEXrnINDEXrnINDEXrnINDEXrnrnrnrn要求匹配出前面没有出现PRIMARY关键字的字符串"INDEX"
正则表达式匹配问题
.*[\\\\ | \\/ | : | \\* | \\? | \\\" | < | > | \\|].*rn为什么上面的正则表达式能够匹配“a b”。
正则表达式的匹配问题
这个题看似简单,但是难度不小,jdk也有实现,但是自己来造轮子发现考虑的情况非常多,这次为了这个算法思考了两三天,最后找到了解决方案如下:public boolean match(char[] str, char[] pattern) { // 反转字符数组 for (int i = str.length - 1,j = 0;j < i;i --,j ++) {
正则表达式匹配问题~~
rnrn推广rnrnrnrnrn匹配出http://www.baidu.com/baidu.php?url=LNCK000EUfaVYDKMNOlF8GYsIrHaVaWpWmSGagqtjT5w0WZ9JmV2smhrIrgoB6rngCwEggphnvlhLxryHHBdDlYOqfQB7zqYHvllNXMKtlqLepE2A58dgZ_C5nUIlu.Db_KtyVtHljlm72s1f_TIMHg8R0.THLASerd0ZnqnfKs5H00m1Ys0AYqn0KWThnqnWcYPj60.UAsqn1f0U1Ykrnrn高手帮忙啊~
正则表达式的匹配问题??????
各位高手,我想用正则表达式来匹配下面html源文件中“公司链接地址、公司名称、职位链接地址、职位名称”即红色部分内容,但因两部分中间内容太多,我对正则表达式使用的又不熟,怎么也写不出一个就能匹配成功的正则表达式。望高手们看一看帮小弟解决一下。谢谢大家了!!!rn rn rnrn rn rn rn [color=#FF0000]rn Asp程序员[/color] rn | 工作地点:河南省郑州市| 工作经验:rn 2年 | 学历:大专 rn | 发布时间:2010-7-12 rn [color=#FF0000]郑州上善若水实业有限公司[/color] | 公司性质:股份制企业 | 公司规模:少于50人rnrn rn rn 1、专科以上学历,计算机或相关专业 2、有大型网站开发及维护经验 3、精通熟悉asp.net编程,熟练运用MVC开发及存储过程操作 4、二年以上工作经验,有大中型网站开发经验者优先 备注:不符合条件者,请勿打扰! 乘车路线:乘27、8、4、T… rn rn rn rn rn rn
正则表达式 匹配问题
各位大侠们帮我看看 这样的正则表达式怎么写rn我要匹配一个函数调用字符串rn格式是: myfunction(100,200,300) 我需要从一个文本中找到所有的myfunction()函数调用 函数的参数是随意rn要把所有的调用这个函数字符提取出来保存到list中rn我写的格式如下:rnMatchCollection mc = Regex.Matches(str,"??");rnfor (int j = 0; j < mc.Count; j++)rnrnlist.Add(mc[j].Value);rnrn请各位帮忙解决 谢谢~~rn补充一个:提取出来的字符不包括函数名myfunction()rn只是提取里面的参数出来
正则表达式匹配问题....
Information/jC_NewsSearch,1,7.html?%e4%b8%ad%e5%9b%bd%e4%b9%8b%e6%98%9frn为何不匹配:rnInformation/jC_NewsSearch,(\d1),(\d1,2)\.html\?(\S+)
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法