python nonetype_将方法添加到Python的NoneType

我正在使用BeautifulSoup进行一些爬网,并希望链接查找呼叫,例如:

soup.find('div', class_="class1").find('div', class_="class2").find('div', class_="class3")

当然,只要找不到div之一,它就会中断,并抛出一个

AttributeError: 'NoneType' object has no attribute 'find'

有没有一种方法可以修改NoneType来添加诸如以下的find方法

class NoneType:

def find(*args):

return None

这样我就可以做

thing = soup.find('div', class_="class1").find('div', class_="class2").find('div', class_="class3")

if thing:

do more stuff

代替

thing1 = soup.find('div', class_="class1")

if thing1:

thing2 = thing1.find('div', class_="class2")

if thing2:

thing3 = thing2.find('div', class_="class3")

etc.

我想我可以通过使用具有XPath功能的解析器来做类似的事情,但是问题并不特定于此用例,而是更多关于修改/覆盖内置类的问题.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值