【发布时间】:2018-09-13 07:08:48
【问题描述】:
我正在尝试获取数据并导出到 CSV,我有主 URL 页面和第二个 URL 主页面。 现在我正在尝试从这个 html 类中获取“18.111”和“98.111”:
<img class="aaa" alt="map" data-track-id="static-map" width="97" height="142" src="https://websitewithdetailsD&width=194&height=284&lat=18.111&lon=98.111&level=15&returnImage=true">
我的代码是什么
for gps in secondpage_parser.find_all('img',{"class":"aaa"}, src=True):
parsed_url = urlparse(gps['src'])
mykeys = ['lat', 'lon']
gpslocation = [parse_qs(parsed_url.query)[k][0] for k in mykeys]
print(gpslocation)
但是,它的行上有 Key 错误 “gpslocation = [parse_qs(parsed_url.query)[k][0] for k in mykeys]” 当我跑的时候。
Name 和 Title 作为 html 类工作的其他部分的数据并不太复杂。 我想知道我在这里的哪个部分有错误或者我应该如何解决它。 请帮忙。
【问题讨论】:
-
网址格式不正确。它没有顶级域名。
-
@MoonsikPark 我对 Python 和网络抓取很陌生。能否请您解释一下有关 tld 的更多信息?
-
src="https://websitewithdetailsD&amp;width=194&amp;height=284&amp;lat=18.111&amp;lon=98.111&amp;level=15&amp;returnImage=true"parse_qs 无法检测到 url,因为它没有 .com .net 之类的 tld。 -
真的很抱歉,我缩短了网址。这是完整的 url:api.nostramap.com/Service/V2/MoreContent/… 它在 html 类中指示,但是当我访问真实的网络时,它是另一个可以访问的,即 map.nostramap.com/NostraMap/?place/…
-
你的问题不够清楚。
标签: python python-3.x web-scraping beautifulsoup jupyter-notebook