2015-10-30 4 views
0

Я использую beautifulsoup для создания данных с веб-сайта. Мне нужно сначала захватить все файлы .gz с сайта sitemap.xml.Используйте файл BeautifulSoup open .gz в файле sitemap.xml

я сделал:

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

Тогда я URL всех .gz файлы, но с <loc> из стороны. Как я могу избавиться от <loc>?

Что я сейчас:

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

Я хочу, чтобы избавиться от <loc>, а затем открыть файл .gz.

И, как я могу открыть .gz файлы из Интернета и получить информацию в нем с помощью python?

+0

Выполнение '.get_text()' на каждой из ссылок должно избавиться от тегов ''. – dstudeba

ответ

1

Вы можете получить только 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

 Смежные вопросы

  • Нет связанных вопросов^_^