• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

的Python,BeautifulSoup4:其中多个属性等于多个值中选择的元素分别

python 来源:bo wen 3次浏览
<TABLE cellSpacing=0 cellPadding=0 width=700 border=0 617px; HEIGHT: 22px 23px 536px;> 
    ... 
</TABLE> 

我想选择的所有元素就像以上:所述标签是TABLE,并且有几个属性(cellSpacing=0,cellPadding=0,width=700,border=0)。的Python,BeautifulSoup4:其中多个属性等于多个值中选择的元素分别

我尝试以下Python脚本:

import requests 
from bs4 import BeautifulSoup 
result=requests.get("http://news.scu.edu.cn/news2012/cdzx/I0201index_1.htm") 
result.encoding="GBK" 
soup=BeautifulSoup(result.text,"html.parser") 
soup=soup.find("TABLE",attrs={"cellspacing":"0","cellpadding": "0","width": 
"700","border":"0"}) 
print(soup) 

没有错误的脚本运行,但美丽的汤发现nothing.This一定是错误的,如果你打开的网页(http://news.scu.edu.cn/news2012/cdzx/I0201index_1.htm)与浏览器,点击右键,去检查 – >网络 – >文档 – >响应,搜索<TABLE cellSpacing=0 cellPadding=0 width=700 border=0 617px; HEIGHT: 22px 23px 536px;>,您会发现30条匹配结果。

===========解决方案如下:

TABLE标签名称必须的是小写字母:

soup = soup.find("table", ...) 

这里是一个reference section in the documentation:

由于HTML标记和属性是不区分大小写,所有三个HTML解析器转换标签并将名称归为小写字母。也就是说,标记<TAG></TAG>转换为<tag></tag>


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)