Я хочу распаковать URL для очистки - PullRequest
0 голосов
/ 30 января 2019

"https://www.tokopedia.com/sitemap/product/1.xml.gz" это мой URL-адрес, этот URL-адрес содержит количество URL-адресов продуктов, но он заархивирован. Я не знаю, как распаковать URL-адрес и как получить из него данные, как распаковать его с помощью скрапаили Красивый суп некоторые другие библиотеки Scrap

1 Ответ

0 голосов
/ 30 января 2019

Взгляните на gzip

import requests
from io import BytesIO
import gzip
r = requests.get('https://www.tokopedia.com/sitemap/product/1.xml.gz',stream=True)
g=gzip.GzipFile(fileobj=BytesIO(r.content))
content=g.read()
print(content)

Вывод слишком длинный для вставки.Так что вывод на g.read(1000)

Выход:

b'<?xml version="1.0" encoding="UTF-8"?>\n\t<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"\n\txmlns:xhtml="http://www.w3.org/1999/xhtml">\n\t <url>\n\t   <loc>https://www.tokopedia.com/tokoshishaonline/shisha-medium</loc>\n       <xhtml:link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.tokopedia.com/tokoshishaonline/shisha-medium" />\n\t </url>\n\t <url>\n\t   <loc>https://www.tokopedia.com/lighting/lampu-sorot-philips-hnf-207-flood-light-lampu-tembak-lampu-stadion</loc>\n       <xhtml:link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.tokopedia.com/lighting/lampu-sorot-philips-hnf-207-flood-light-lampu-tembak-lampu-stadion" />\n\t </url>\n\t <url>\n\t   <loc>https://www.tokopedia.com/agromedia/pop-supernasa</loc>\n       <xhtml:link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.tokopedia.com/agromedia/pop-supernasa" />\n\t </url>\n\t <url>\n\t   <loc>https://www.tokopedia.com/agromedia/aero-810</loc>\n       <xhtml:l'
...