python提取xml里面的链接源码详解

yipeiwu_com6年前Python基础

因群里朋友需要提取xml地图里面的链接,就写了这个程序。

代码:

#coding=utf-8
import urllib
import urllib.request
import re
url='http://zhimo.yuanzhumuban.cc/sitemaps.xml'
html=urllib.request.urlopen(url).read()
html=html.decode('utf-8')
r=re.compile(r'(http://zhimo.yuanzhumuban.cc.*?\.html)')
big=re.findall(r,html)
for i in big:
 print(i)
 op_xml_txt=open('xml.txt','a')
 op_xml_txt.write('%s\n'%i)

扩展阅读:

Python3提取xml文件中的内容

import xml.dom.minidom

def find_child(Par_nodes, mystr):
  for child_node in Par_nodes:
    if(len(child_node.childNodes) > 0):
      mystr = find_child(child_node.childNodes, mystr)
    elif(child_node.nodeValue != None):
      mystr += child_node.data.replace('\n', '')
  return mystr

if __name__ == '__main__':

  dom1 = xml.dom.minidom.parse('2.XML') #打开xml文件
  root = dom1.documentElement     #得到文档元素对象
  app_nums = root.getElementsByTagName('base:DocNumber') #按标签名称查找,返回标签结点数组
  app_num = app_nums[2]
  print('专利申请号:'+app_num.firstChild.data)
  titles = root.getElementsByTagName('business:InventionTitle')
  title = titles[0]
  print('专利名称:'+title.firstChild.data)
  Paragraphs = root.getElementsByTagName('base:Paragraphs')
  abstract = Paragraphs[0]
  print('专利摘要:'+abstract.firstChild.data)
  company_names = root.getElementsByTagName('base:Name')
  company_name = company_names[0]
  print('公司名称:'+company_name.firstChild.data)
  mystr = ''
  for i in range(len(Paragraphs)):
    if (Paragraphs[i].firstChild.data == '发明内容\n\t'):
      i+=1
      while Paragraphs[i].firstChild.data != '附图说明\n\t':
        mystr = find_child(Paragraphs[i].childNodes, mystr)
        i+=1

  print('发明内容:' + mystr)

以上就是本次介绍的全部实例代码知识点,感谢大家的学习和对【听图阁-专注于Python设计】的支持。

相关文章

Python3导入自定义模块的三种方法详解

Python3导入自定义模块的三种方法详解

前话 最近跟着廖雪峰的教程学到 模块 这一节。关于如何自定义一个模块,如果大家不懂的话先来看看基本的介绍: 模块 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来...

Python实现的网页截图功能【PyQt4与selenium组件】

本文实例讲述了Python实现的网页截图功能。分享给大家供大家参考,具体如下: 方法一、使用PyQt4的QtWebKit组件 #!/usr/bin/env python # -*-...

Python 分享10个PyCharm技巧

Python 分享10个PyCharm技巧

# 0. PyCharm 常用快捷键 # 1. 查看使用库源码 PyCharm 主程序员在 Stackoverflow 上答道 经常听人说,多看源码。源码不仅能帮我们搞清楚运行机制...

Python方法的延迟加载的示例代码

数据挖掘的过程中,数据进行处理是一重要的环节,我们往往会将其封装成一个方法,而有的时候这一个方法可能会被反复调用,每一次都对数据进行处理这将是一个很耗时耗资源的操纵,那么有没有办法将计算...

python 并发编程 非阻塞IO模型原理解析

python 并发编程 非阻塞IO模型原理解析

非阻塞IO(non-blocking IO) Linux下,可以通过设置socket使其变为non-blocking。当对一个non-blocking socket执行读操作时,流程是...