BeautifulSoup獲取字串為None

2021-07-29 15:12:17 字數 1697 閱讀 3451

網頁原始檔

1td>

class="align-left">

href="world-university-rankings/harvard-university.html"

target="_blank">哈佛大學a>

td>

href="./world-university-rankings-2016/usa.html"

target="_blank">

src="./houtai/templates/flag/usa.png">

a>

td>

class="hidden-xs">1td>

100.0td>

class="hidden-xs need-hidden alumni">100.0td>

class="hidden-xs need-hidden award"

style="display:none;">100.0td>

class="hidden-xs need-hidden hici"

style="display:none;">100.0td>

class="hidden-xs need-hidden ns"

style="display:none;">100.0td>

class="hidden-xs need-hidden pub"

style="display:none;">100.0td>

class="hidden-xs need-hidden pcp"

style="display:none;">79.2td>

tr>

tobody>如下**:

deffillunivlist

(ulist, html):

soup = beautifulsoup(html, "html.parser")

for tr in soup.find('tbody').children:

if isinstance(tr, bs4.element.tag):

tds = tr('td')

出錯結果:

原因:

用 .string 屬性來提取標籤裡的內容時,該標籤應該是只有單個節點的。比如上面的1標籤那樣。

修改**如下:

def

fillunivlist

(ulist, html):

soup = beautifulsoup(html, "html.parser")

for tr in soup.find('tbody').children:

if isinstance(tr, bs4.element.tag):

tds = tr('td')

astr = tds[1].find('a')

正確結果:

Beautiful Soup 如何獲取到href

直接上 你需要修改一下黃色的部分。from bs4 import beautifulsoupimport requests main url html requests.get url,timeout 30 獲取網頁soup beautifulsoup html,lxml 獲取lxml樹 litag...

BeautifulSoup常用方法

1.初始化 2.查詢指定標籤 eg 要找到符合的所有標籤 p.findall div 反覆利用標籤特徵可以找到最終需要的標籤 3.直接加標籤名可以找到所有子標籤 eg 找到所有標籤 p.td 4.直接以字典形式,可以訪問標籤內對應屬性的值 eg 要找到 中href 的值 www.csdn.net p...

BeautifulSoup學習筆記

prettify 將html 格式化 get text 獲得所有文字內容 contens 返回所有子節點 children 返回子節點生成器 descendants 返回所有子孫節點的生成器 strings 返回包含的多個字串的生成器 stripped strings 返回包含的多個字串 去除多餘空...