鍍金池/ 問答/Python/ python用Beautifulsoup抓取的網(wǎng)頁中有br標簽,返回字符串為No

python用Beautifulsoup抓取的網(wǎng)頁中有br標簽,返回字符串為None,嘗試用re也沒搞定,求指點!

問題:剛開始練習python爬蟲,用Beautifulsoup抓取網(wǎng)頁,網(wǎng)頁中含有br標簽,抓取的結(jié)果是None。
試了用字符串的replace函數(shù)替換br,還是返回None。
試了用re正則替換br,提示返回類型錯誤。

代碼:

from bs4 import BeautifulSoup

html_doc='''
<tr>
    <td>1</td>
    <td>2(一心<br>一意)</td>
    <td>3(兩全<br/>齊美)</td>
    <td>放棄1次<br/>        
    </td>
</tr>
'''
soup=BeautifulSoup(html_doc,'lxml')

for i in soup.find_all('td'):
    print(i.string)

(1)輸出結(jié)果:

1
None
None
None

(2)試了用re正則替換,代碼如下,提示返回值類型錯誤。

re_br=re.compile('<br.*?/?>')#處理換行
s=re_br.sub('\n',soup)#將br轉(zhuǎn)換為換行

(3)把soup轉(zhuǎn)為str(soup),又提示沒有find_all屬性。

回答
編輯回答
孤影
用replace函數(shù)替換文本中的< br >或者<br/>
#!/usr/bin/env python
# -*- coding:utf-8 -*-

from bs4 import BeautifulSoup

html_doc='''
<tr>
    <td>1</td>
    <td>2(一心<br>一意)</td>
    <td>3(兩全<br/>齊美)</td>
    <td>放棄1次<br/>        
    </td>
</tr>
'''
soup=BeautifulSoup((html_doc.replace('<br>','')).replace('<br/>',''),'lxml')

for i in soup.find_all('td'):
    print(i.string)

圖片描述

2018年7月1日 19:48