我使用beautifulsoup从网站构建数据。我需要先从.gz
网站抓取所有sitemap.xml
个文件。
我做了:
def getGz():
http = httplib2.Http()
status, response = http.request('url/sitemap.xml)
soup = BeautifulSoup(response)
links = soup.find_all("loc")
然后我有所有.gz
个文件&#39;网址但<loc>
偏出。我怎样才能摆脱<loc>
?
我现在拥有的:
<loc>url/sitemap-samples-0.xml.gz</loc>
我想摆脱<loc>
,然后打开.gz
文件。
而且,如何从互联网上打开.gz
文件并使用python获取其中的信息?
答案 0 :(得分:1)
你可以使用list comprehension来获取这样的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