Python提取XML地图链接源码详解
本文详细介绍使用Python从XML文件中提取链接的两种方法。第一种利用urllib和正则表达式匹配URL,适用于简单结构;第二种通过xml.dom.minidom遍历节点,适合复杂XML文档。代码包含完整示例,帮助开发者快速实现数据抓取与解析功能。
Python提取XML链接源码详解
应群内朋友需求,需要提取XML地图中的链接,因此编写了此程序。
基于正则表达式的URL提取方案
具体实现代码如下:
正则方案核心代码
#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内容提取方法
Python3环境下提取XML文件内容的方法
基于minidom的节点遍历方案
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)
以上为本次介绍的全部实例代码知识点,感谢大家的学习和对本站的支持。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













