python爬虫之bs4

Tag对象

  • name:标签名字
  • attrs:标签属性
  • has_attr:判断Tag是否包含属性
  • contents:获取Tag的所有子节点,返回一个list
  • children:获取Tag的所有子节点,返回一个生成器
  • string:如果tag只有一个 NavigableString 类型子节点
  • strings:如果tag中包含多个字符串
  • get_text():
    • 如果只想得到tag中包含的文本内容,那么可以嗲用 get_text() 方法
    • 可以通过参数指定tag的文本内容的分隔符

find_all

find_all(name, attrs, recursive, text, **kwargs)

  • name
    • 字符串过滤:会查找与字符串完全匹配的内容
    • 正则表达式过滤:如果传入的是正则表达式,那么BeautifulSoup4会通过search()来匹配内容
    • 列表:如果传入一个列表,BeautifulSoup4将会与列表中的任一元素匹配到的节点返回
    • 方法:传入一个方法,根据方法来匹配(参数为tag)
def myfun(tag):
    if tag.has_attr('class'):
        return tag.attrs['class'][0] == 'atag'
    return False
# 文本
bs.find_all('button')
#正则表达式
bs.find_all(re.compile("^b"))
#列表
bs.find_all(['input','button']) 
#函数
bs.find_all(myfun)
  • attrs参数
bs.find_all(attrs={"class":"value"})
  • text参数
    • 与name方法相似
# 文本
bs.find_all(text='button')
#正则表达式
bs.find_all(text=re.compile("\d"))
#列表
bs.find_all(text=["hao123", "地图", "贴吧"]) 
#函数
def length_is_two(text):
    return text and len(text) == 2
t_list = bs.find_all(text=length_is_two)
for item in t_list:
    print(item)

CSS选择器

bs.select(‘css选择器’)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值