作者threeSecGun (三秒槍)
看板Python
標題[問題] BeautifulSoup 抓國旅卡網站資訊問題請教
時間Tue Jan 29 17:34:33 2019
感謝版上先進指點
己能正確讀入網站內的資料
目前在使用BeautifulSoup時發生些困難
再次求解
以下是網站部分原始html碼:
-------------------------------------
.
.
.
<TD><SMALL><A HREF=
http://www.eyesmart.com.tw target=_blank> 0070天母營業
所</A> </SMALL></TD>
<TD><SMALL>其他業別</SMALL></TD>
<TD><SMALL> 02-28712835</SMALL></TD>
<TD><SMALL> 台北市士林區 天母東路1至3號</SMALL></TD>
<TD ALIGN="CENTER"><SMALL>
無
</SMALL></TD>
<TD ALIGN="CENTER"><SMALL><A
HREF=/NASApp/NTC/servlet/com.du.mvc.EntryServlet?Action=RetailerEdit&Type=GetFull&Id=161150&RequestType=0&WebMode=text>
詳細內容</A></SMALL></TD>
</TR>
<TR BGCOLOR=#FAFAF5 VALIGN="TOP">
<TD><SMALL> 0070寶島天母營業所 </SMALL></TD>
<TD><SMALL>其他業別</SMALL></TD>
<TD><SMALL> 02-28712835</SMALL></TD>
<TD><SMALL> 台北市士林區 天母東路1之3號</SMALL></TD>
<TD ALIGN="CENTER"><SMALL>
.
.
.
(略)
------------------------------------
我直接用soup.find_all('small')來抓出所有包在<small>tag的內容
如此可以抓到所有廠商資料
但如果<small>tag裡面還有<a>tag 的話
就沒辦法抓到裡面的內容 --->None
顯示如下:
------------------------------------
0026寶島士林(二)營業所 其他業別 02-28313505 台北市士林區 中正路194號
None 其他業別 02-27365908 台北市大安區 通化街92號
------------------------------------
想請教版友先進
若想要同時抓取 <small>內容 </small>
和 <small><A herf=....>內容</A></small>
的話 有什麼比較建議的作法?
感謝~
※ 編輯: threeSecGun (49.213.204.25), 01/29/2019 17:35:50
→ kuro: 我也是菜逼巴 如果只要 small 標籤裡面的文字的話 01/29 18:01
→ kuro: 我會直接 for t in soup.find_all('small'): 01/29 18:01
→ kuro: print(t.text) 01/29 18:01
→ threeSecGun: 感謝 對BeautifulSoup不熟. 誤用t.string 01/29 19:26
→ threeSecGun: 改用t.text即可正常取用所有tag內容 感謝樓上協助 01/29 19:26
推 utap2001: soup.find_all('small').find_all('a')就可以取到所有a 01/30 00:19
推 jasonfghx: 這網站是蛇呢? 01/30 10:51
→ threeSecGun: 感謝utap指點 原來可多次對<tag>find_all這樣很方便 01/30 16:03