Web Scraping:缺少某些页面URL

时间:2018-05-30 23:45:52

标签: web-scraping beautifulsoup python-requests

我试图删除网站的前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))

2 个答案:

答案 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))