python中BeautifulSoup模块使用问题

dazefox 2016-03-02 04:36:29

html = BeautifulSoup(login_html,"html.parser")
sechash = html.find(attrs={'name':'sechash'})['value']

如果html.find(attrs={'name':'sechash'}),这一块查找为空,那么之后获取value属性值那一块会报错,
我想知道BeautifulSoup有没有专门进行处理、判断的函数,不需要手动去判断是否为空
...全文
124 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
panghuhu250 2016-03-03
  • 打赏
  • 举报
回复
模仿haskell的Maybe. 注1. 我对haskell, Maybe也是一知半解, 仅仅是照猫画虎(或更准确的说是"照虎画猫"). 注2: 也许有特殊情况会导致无限循环或代码崩溃, 我自己也没想明白, 所以慎重使用.

In [204]: class NoneProofed(object):
     ...:     def __init__(self, value):
     ...:         self.value = value
     ...:     def __getattr__(self, name):
     ...:         if self.value is None:
     ...:             return self
     ...:         else:
     ...:             return lambda *args, **kwargs: NoneProofed(getattr(self.value, name)(*args, **kwargs))
     ...:     def __call__(self, *args, **kwargs):
     ...:         return self

In [205]: class A:
     ...:     def get_name(self, i):
     ...:         if i < 5:
     ...:             return None
     ...:         return "myname"

In [206]: def test(i):
     ...:     # wrap the object in NoneProofed
     ...:     a = NoneProofed(A())
     ...:     # make calls that might explode. 
     ...:     # We are "none proofed", fear not.
     ...:     name = a.get_name(i)
     ...:     upper_name = name.upper()
     ...:     # finally, get the real value or None
     ...:     return upper_name.value
     ...: 

In [207]: test(6)
Out[207]: 'MYNAME'

In [208]: test(3)

In [209]: test(3) is None
Out[209]: True
dazefox 2016-03-03
  • 打赏
  • 举报
回复
引用 2 楼 sprawling 的回复:
使用try也可以啊,会出现异常的
BeautifulSoup没有自己的判断函数么?
dazefox 2016-03-03
  • 打赏
  • 举报
回复
引用 1 楼 nice_fish 的回复:
判空直接用 if 不就可以了,要不然你可以自己封装一下。
我想知道模块带不带自己的判断函数,这种东西如果有的话尽量不自己写
sprawling 2016-03-03
  • 打赏
  • 举报
回复
使用try也可以啊,会出现异常的
  • 打赏
  • 举报
回复
判空直接用 if 不就可以了,要不然你可以自己封装一下。

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧