[問題] BeautifulSoup 抓國旅卡網站資訊問題請教

看板Python作者 (三秒槍)時間5年前 (2019/01/29 17:34), 5年前編輯推噓2(206)
留言8則, 4人參與, 5年前最新討論串1/1
感謝版上先進指點 己能正確讀入網站內的資料 目前在使用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

01/29 18:01, 5年前 , 1F
我也是菜逼巴 如果只要 small 標籤裡面的文字的話
01/29 18:01, 1F

01/29 18:01, 5年前 , 2F
我會直接 for t in soup.find_all('small'):
01/29 18:01, 2F

01/29 18:01, 5年前 , 3F
print(t.text)
01/29 18:01, 3F

01/29 19:26, 5年前 , 4F
感謝 對BeautifulSoup不熟. 誤用t.string
01/29 19:26, 4F

01/29 19:26, 5年前 , 5F
改用t.text即可正常取用所有tag內容 感謝樓上協助
01/29 19:26, 5F

01/30 00:19, 5年前 , 6F
soup.find_all('small').find_all('a')就可以取到所有a
01/30 00:19, 6F

01/30 10:51, 5年前 , 7F
這網站是蛇呢?
01/30 10:51, 7F

01/30 16:03, 5年前 , 8F
感謝utap指點 原來可多次對<tag>find_all這樣很方便
01/30 16:03, 8F
文章代碼(AID): #1SK1uiS2 (Python)