在sitemap.xml中使用BeautifulSoup打开.gz文件

缺口

我正在使用beautifulsoup从网站构建数据。我需要首先.gzsitemap.xml网站上获取所有文件

我做了:

def getGz():
    http = httplib2.Http()
    status, response = http.request('url/sitemap.xml)
    soup = BeautifulSoup(response)
    links = soup.find_all("loc")

然后,我拥有所有.gz文件的url,但没有任何内容<loc>我该如何摆脱<loc>

我现在所拥有的:

<loc>url/sitemap-samples-0.xml.gz</loc>

我想摆脱,<loc>然后打开.gz文件。

而且,如何.gz使用python打开互联网上的文件并获取其中的信息?

亨斯特

您可以像这样使用列表理解来获取url:

from bs4 import BeautifulSoup
def getGz():
    #http = httplib2.Http()
    #status, response = http.request('url/sitemap.xml')
    soup = BeautifulSoup(response, "lxml")
    links = [loc.text for loc in soup.find_all("loc")]

然后,您必须下载gz文件并使用来打开它gzip,或者将gz文件读入StringIO对象,然后将该StringIO对象用于gzip.open

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章