【python爬虫】class和class_

在使用BeautifulSoup库的find_all()方法定位所需要的元素时,当匹配条件为 class时,会编译报错:
这里写图片描述

这时候应该使用 class_ 就不报错了。

soup.find_all('div', class_ = 'iimg-box-meta')

原因:

class在 python 中是关键保留字,不能再将这些字作为变量名或过程名使用,所以class_ 应运而生。

python中共有35个保留关键字

12345
FalseTrueNoneandbreak
asassertasyncawaitclass
continuedefyielddelelif
elseexceptfinallyforfrom
globalifimportinis
lambdanonlocalnotorpass
raisereturntrywhilewith


import requests
from bs4 import BeautifulSoup
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36'}
res = requests.get('http://www.cnplugins.com/',headers = headers) #get方法中加入请求头
soup = BeautifulSoup(res.text, 'html.parser') #对返回的结果进行解析
#print (soup.prettify())
 # BeautifulSoup库是一个非常流行的Python模块
 # 可以轻松地解析Requests库请求的网页,并把网页源代码解析位Soup文档,以便过滤提取数据。
 # BeautifulSoup官方推荐使用lxml作为解析器,因为效率高
print (soup.find_all('div', "iimg-box-meta")) # 查找 div class='iimg-box-meta'
print (soup.find_all('div', class_ = 'iimg-box-meta'))
print (soup.find_all('div', attrs = {"class": "iimg-box-meta"}))
print (soup.find_all('a', href = "/tool/save-as-mht.html"))   #可以
print (soup.find_all('a', href_ = "/tool/save-as-mht.html"))  #不行
print (soup.find_all('a', attrs = {"href": "/tool/save-as-mht.html", "target": "_blank"}))
  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值