我试图删除网站的前9页,但看起来缺少page5和page7。这使得show python成为属性错误。但是,我认为一个' if'函数可以解决这个问题,但我无法弄清楚if函数的代码。 这是我的代码
import requests
from bs4 import BeautifulSoup
base_url="http://cbcs.fastvturesults.com/student/1sp15me00"
for page in range(1,10,1):
r=requests.get(base_url+str(page))
c=r.content
soup=BeautifulSoup(c,"html.parser")
items=soup.find(class_="text-muted")
if ??????????:
pass
else:
print("{}\n{}".format(items.previous_sibling,items.text))
答案 0 :(得分:2)
当items
设置为items
时,当您尝试访问None
的属性时,会发生错误。这是在BeautifulSoup找不到class_="text-muted"
解决方案:
if not items:
continue
请注意pass
(来自您的解决方案)将只传递当前语句并转到循环中的下一行。 continue
将结束当前迭代并继续下一次迭代。
答案 1 :(得分:1)
您不需要在此处创建else
块。只检查if items is not None
就足够了。尝试以下方法:
items = soup.find(class_="text-muted")
if items:
print("{}\n{}".format(items.previous_sibling,items.text))