我正在试图拍摄闪烁照片的坐标。 我试着抓住这个'a'块:
<a class="static-maps" href="https://www.flickr.com/map/?fLat=13.387866&fLon=77.699174&zl=13&everyone_nearby=1" data-rapid_p="163">
使用以下代码:
url='https://www.flickr.com/photos/hellosaurav/8739282947/in/photolist-ayo8gy-brAbpk-nREjXv-eyQCtp-ovie9F-rdhF3m-eB8g6z-a3jhb9-9jUqhk-evcaBQ-j7iARL-oFd27B-cZ4VaN-mfP6NR-odhcpL-hy2vMX-mHGWoM-n9ARnM-9rxT1W-oqPqDQ-6tmgQ1-oNbZXw-pogsa7-eAeMz9-asB1Qu-o3qgcx-pr6ZGC-dfTh3p-pRuMsf-9yqjrG-bS4AkB-5iDTpA-pSVfhM-ejg7mc-oKWkZX-vDvqdR-nvb2zt-oYDWki-chB5ZY-p14ReR-oJSier-n9MyRk-rGAdSf-exgySN-sFkcTb-hE2tfg-ryeRC5-rqYLen-7zAafa-p3vS3U/'
r=requests.get(url)
url=r.content
soup = BeautifulSoup(url,'html.parser')
#header
header=soup.find("div",{"class":"title-desc-block"}).find("h1")
if(header==None):
return
else:
header=header.text.encode("utf-8").strip().replace(',','|')
amap=soup.find("a",{"class":"static-maps"})
print amap
代码打印“无”。
任何人都知道为什么beautifulsoup找不到这个链接?
答案 0 :(得分:2)
此链接由JavaScript创建。 BS不会渲染页面,因此无法运行JavaScript。
坐标在此文件中作为JavaScript /文本,因此您可以尝试找到它 但BS无法帮助您完成这项工作。使用正则表达式。
import re
print re.findall('"latitude":(.+?),', r.content)
print re.findall('"longitude":(.+?),', r.content)