|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
r = requests.get(urls).content
pattern = re.compile('<cite>(.*?)</cite>')
a = re.findall(pattern,r)
b = '\n'.join(a).replace('<strong>', '').replace('</strong>', '')
求教这段代码什么意思!各位大神求详解
- r = requests.get(urls).content
- pattern = re.compile('<cite>(.*?)</cite>')
- a = re.findall(pattern,r)
- b = '\n'.join(a).replace('<strong>', '').replace('</strong>', '')
复制代码
本帖最后由 YY杰 于 2017-12-1 17:35 编辑
- r = requests.get(urls).content # 把地址-urls中的文字内容保存到变量 r 里
- pattern = re.compile('<cite>(.*?)</cite>') # 定义非贪婪模式的正则表达式
- a = re.findall(pattern,r) # 按照表达式从r中抽取所有以“<cite>”开头,以“</cite>”结尾的字符串片段(但不包含头尾),将所有字符串片段保存到列表(list)a中
- b = '\n'.join(a).replace('<strong>', '').replace('</strong>', '') # 这块分两部分说①b='\n'.join(a) --> 把列表a中的字符串元素用换行符('\n')连起来,变成一个大字符串
- # .replace('<strong>', '').replace('</strong>','') # ②把连起来的大字符串中,所有'<strong>'和'</strong>'替换成空字符'',换句话说就是去掉大字符串中的上述两个子串
- """
- 举个例子
- 假设r的内容为 " 123<cite>123<strong></strong>12</cite>abc -----\n <cite>456</strong>45</cite>789</cite>"
- 那么a的内容就是["123<strong></strong>12", "456</strong>45"] #最后的</cite>会被无视
- 经过join之后的大字符串就是 "123<strong></strong>12\n456</strong>45"
- 再经过replace就变成了"12312\n45645"
- """
复制代码
总结来说就是从一段xml中找到所有符合<cite>...</cite>的句式,抠出来其中的内容用换行符连接成新的字符串,并且去掉其中的<strong>和</strong>
|
|