【发布时间】:2018-09-08 03:27:18
【问题描述】:
以下是 html 详细信息:
<div class="aaa">
<span class="bbb"></span>
<a data-track-id="Google Map" href="https://www.google.com/maps/dir//18/@1813z" target="_blank" class="ccc">Google Map</a>
</div>
我只想获得 18 和 1813z 的纬度和经度,我该怎么做?
我正在使用两个 url 页面来获取第二页中的文本。标题或名称等其他信息以文本形式显示,因此我可以使用get_text().
但是在这种情况下,我无法获得href之后的链接。所以我请帮忙。
我试过的代码:
from bs4 import BeautifulSoup
import urllib.request
def get_page(url):
request = urllib.request.Request(url)
response = urllib.request.urlopen(request)
mainpage = response.read().decode('utf-8')
return mainpage
mainpage = get_page('https://www.something.com')
mainpage_parser = BeautifulSoup(mainpage,'html.parser')
secondpage = get_page('https://www.something2.com/')
secondpage_parser = BeautifulSoup(secondpage,'html.parser')
try:
for gps in secondpage_parser.find_all('a',{"data-track-id":"Google Map"}, href=True):
gpslocation = gps['href']
print(gpslocation)
except:
print(gpslocation)
【问题讨论】:
-
修正引号和缩进
-
代码是怎么失败的?
-
@MadPhysicist 我已修复,谢谢,但我的代码仍然无法正常工作。它没有显示任何错误,但运行后没有出现任何文本或链接。
-
你没有修复它。请编辑问题。
-
@MadPhysicist 谢谢提醒。但是我跑了之后还是什么都没有。
标签: python python-3.x web-scraping beautifulsoup jupyter-notebook