【发布时间】:2014-12-16 05:10:30
【问题描述】:
我从http://my.gwu.edu/mod/pws/courses.cfm?campId=1&termId=201501&subjId=ACCY 中提取了这个简单的 HTML 表格
<tr align="center" class="tableRow1Font" >
<td>OPEN</td>
<td>80002</td>
<td>
<span style="font-weight:bold;">
ACCY
</span>
<A HREF="http://bulletin.gwu.edu/search/?P=ACCY+2001" target="_blank">
<span style="font-weight:bold;">
2001
</span>
</A>
</td>
<td>10</td>
<td>Intro Financial Accounting</td>
<td>3.00</td>
<td> Ray, K</td>
<td><a href="http://virtualtour.gwu.edu/#MON" target="_blank" >MON</a> 113</td>
<td>MW<br>12:45PM - 02:00PM</td>
<td>08/25/14 - 12/06/14</td>
<td>
</td>
</tr>
我想找到所有的 tr align="center 标签,然后去掉其中的 td 值。我希望我的代码输出看起来像这样(每个 td 值在一行上用逗号分隔):
OPEN, 80002, ACCY 2001, 10, Intro to Financial Accounting, 3.00, Ray, K, MW 12:45-02:00
我的代码:
import bs4
import requests
response = requests.get('http://my.gwu.edu/mod/pws/courses.cfm?campId=1&termId=201501&subjId=ACCY')
soup = bs4.BeautifulSoup(response.text)
for tr in soup.findAll('tr align="center"'):
stack = []
for td in tr.findAll('td'):
stack.append(td.text.strip())
print(",".join(stack))
这不起作用。如何仅从“tr align=center”标签中获取“td”值?
【问题讨论】:
标签: python parsing web-scraping beautifulsoup