<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脚本:
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)
脚本运行没有错误,但美丽的汤什么都没发现。如果你用Chrome打开页面(http://news.scu.edu.cn/news2012/cdzx/I0201index_1.htm),右击,转到inspect-&gt; Network-&gt; Doc-,这一定是错的&gt;回复,搜索<TABLE cellSpacing=0 cellPadding=0 width=700 border=0 617px; HEIGHT: 22px 23px 536px;>
,您会找到30个匹配结果。
答案 0 :(得分:0)
TABLE
代码名称必须是低级的:
soup = soup.find("table", ...)
这是reference section in the documentation:
由于HTML标记和属性不区分大小写,因此所有三个HTML解析器都会将标记和属性名称转换为小写。也就是说,标记
<TAG></TAG>
将转换为<tag></tag>
。