【发布时间】:2018-05-04 16:37:59
【问题描述】:
我创建了一个网页抓取程序,它可以打开多个 URL,它会检查哪个 URL 包含与“明天”日期相关的信息,然后打印该 URL 上的一些特定信息。我的问题是,有时该列表中的所有 URL 都没有关于“明天”的信息。所以我希望在这种情况下,程序会打印其他信息,如“未找到数据”。我怎么能做到这一点?我还有其他疑问,我是否需要一开始的while循环?谢谢。
我的代码是:
from datetime import datetime, timedelta
tomorrow = datetime.now() + timedelta(days=1)
tomorrow = tomorrow.strftime('%d-%m-%Y')
day = ""
while day != tomorrow:
for url in list_urls:
browser.get(url)
time.sleep(1)
dia_page = browser.find_element_by_xpath("//*[@id='item2']/b").text
dia_page = dia_page[-10:]
day_uns = datetime.strptime(dia_page, "%d-%m-%Y")
day = day_uns.strftime('%d-%m-%Y')
if day == tomorrow:
meals = browser.find_elements_by_xpath("//*[@id='item2']/span")
meal_reg = browser.find_element_by_xpath("//*[@id='item_frm']/span[1]").text
sopa2 = (meals[0].text)
refeicao2 = (meals[1].text)
sobremesa2 = (meals[2].text)
print(meal_reg)
print(sopa2)
print(refeicao2)
print(sobremesa2)
break
【问题讨论】:
标签: python loops for-loop while-loop break