我正在尝试从包含.ics
日历的网页中获取.ics
文件的URL。例如,https://meded.hms.harvard.edu/calendar,但它应该适用于任何包含.ics
的网页。
下面是我天真的尝试(没有打印任何东西,我也不知道为什么):
import urllib2
import requests
import bs4
def get_ics_url(url):
#page = requests.get('https://meded.hms.harvard.edu/calendar').content
page = requests.get(url).content
soup = bs4.BeautifulSoup(page, 'lxml')
links = soup.find_all('a')
for link in links:
if link.get('href')[-4:]=='.ics':
endout = type(link.get('href'))
print endout
break
我做错了什么?有什么更好的方法来获取我要查找的.ics
文件的URL?你知道吗
代码中的
break
将在一次迭代后停止脚本,您需要再次缩进它,将其放入if
(或者改用return
)。目前,无论if
的结果如何,它都会破坏for
。你知道吗第二个问题是有
<a>
元素没有href
属性,这将导致脚本在到达任何.ics链接之前失败:例如:
在对其执行数组操作之前,可以通过检查链接中的
link.get('href') != None
来修复此问题。你知道吗固定代码:
相关问题 更多 >
编程相关推荐