我想解压缩网址以进行抓取

时间:2019-01-30 19:07:24

标签: python beautifulsoup xml-parsing unzip nsxmlparser

https://www.tokopedia.com/sitemap/product/1.xml.gz”这是我的网址,该网址包含产品网址的数量,但已压缩,我不知道如何解压缩该网址以及如何从中获取数据,如何使用scrapy解压缩或美丽的汤,还有其他一些库库

1 个答案:

答案 0 :(得分:1)

看看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'