Aks*_*tal 5 url xml sitemap extract
假设我有一个sitemap.xml包含这些数据的文件:
<url>
<loc>http://domain.com/pag1</loc>
<lastmod>2012-08-25</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>http://domain.com/pag2</loc>
<lastmod>2012-08-25</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>http://domain.com/pag3</loc>
<lastmod>2012-08-25</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
Run Code Online (Sandbox Code Playgroud)
我想从中提取所有位置(<loc>和之间的数据</loc>)。
示例输出如下:
http://domain.com/pag1
http://domain.com/pag2
http://domain.com/pag3
Run Code Online (Sandbox Code Playgroud)
这该怎么做?
您可以在此处使用 python 脚本
该脚本获取以http开头的任何链接
import re
f = open('sitemap.xml','r')
res = f.readlines()
for d in res:
data = re.findall('>(http:\/\/.+)<',d)
for i in data:
print i
Run Code Online (Sandbox Code Playgroud)
在您的情况下,下一个脚本会查找标签中包含的所有数据
import re
f = open('sitemap.xml','r')
res = f.readlines()
for d in res:
data = re.findall('<loc>(http:\/\/.+)<\/loc>',d)
for i in data:
print i
Run Code Online (Sandbox Code Playgroud)
如果您不熟悉正则表达式,这里是一个很好的工具。
如果您需要加载远程文件,您可以使用下一个代码
import urllib2 as ur
import re
f = ur.urlopen(u'http://server.com/sitemap.xml')
res = f.readlines()
for d in res:
data = re.findall('<loc>(http:\/\/.+)<\/loc>',d)
for i in data:
print i
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13251 次 |
| 最近记录: |