作者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
1F:→ kuro: 我也是菜逼巴 如果只要 small 标签里面的文字的话 01/29 18:01
2F:→ kuro: 我会直接 for t in soup.find_all('small'): 01/29 18:01
3F:→ kuro: print(t.text) 01/29 18:01
4F:→ threeSecGun: 感谢 对BeautifulSoup不熟. 误用t.string 01/29 19:26
5F:→ threeSecGun: 改用t.text即可正常取用所有tag内容 感谢楼上协助 01/29 19:26
6F:推 utap2001: soup.find_all('small').find_all('a')就可以取到所有a 01/30 00:19
7F:推 jasonfghx: 这网站是蛇呢? 01/30 10:51
8F:→ threeSecGun: 感谢utap指点 原来可多次对<tag>find_all这样很方便 01/30 16:03